2017-02-23 6 views
2

ng-repeat 중첩에 문제가 있습니다. 나는 AngularJS에 익숙하다. 그래서 나는 아마도 그 개념을 이해하지 못한다.ng-repeat에서 ng-repeat을 수행하는 방법은 무엇입니까?

GROUPS를 표시해야하며 인 GROUP과 같은 항목을 표시해야합니다.

나는 PHP에서 작업을 수행하는 방법을 알고 있지만 나는 AngularJS와에서 그것을 할 필요가있다.

이것은 내가 PHP에서 그것을하기 위해 얼마나입니다 :

$result=mysqli_query($mysqli, "SELECT * FROM groups ORDER BY position ASC"); 

while ($row=mysqli_fetch_assoc($result)) { 
    echo '<h1>',$row['name'],'</h1>'; 

    $items=mysqli_query($mysqli, "SELECT * FROM items WHERE group_id='".$row['id']."'"); 
    while ($itemsrow=mysqli_fetch_assoc($items)) { 
     echo '<p>',$itemsrow['name'],'</p>'; 
    } 
} 

나는 ng-repeatng-repeat에 시도하지만 실제 그룹에서 GROUP_ID에 액세스하는 방법을 모르겠어요. 내가 무슨 뜻인지 알기를 바랍니다. 아무도 도울 수 있니?

+1

당신이 표시하려고하는 JSON을 제공 할 수 있습니까? – Mistalis

+0

나는 처음과 그 이후에 그룹을 얻으려고 노력했다. 그래서 두 개의 JSON 데이터가 있습니다. 처음 : ''{{ "id": "1", "name": "Silnik", "position": "0"}, { "id": "2", "name": "Podajnik" position ":"1 "}]' 두 번째 코드는 같지만 다른 값을가집니다. –

+1

** ** JSON 데이터를 제공하십시오. – Mistalis

답변

1

시도 :

<div ng-repeat="group in groups track by group.id"> 
    <h1 ng-bind="group.name"></h1> 
    <div ng-repeat="item in items | filter: {group_id: group.id} track by $index"> 
    <div ng-bind="item.name"></div> 
    </div> 
</div> 

plunker : https://plnkr.co/edit/EhjvrFm5c0NSSf0Vwnk2?p=preview

+0

그래! 그것은 작동합니다. 감사합니다;) –

+0

지금 문제가 있습니다. ** item.position ** 트랙을 변경했는데 작동하지만 ... 이것은 JSON입니다 : '3 : {id : "3", 그룹 : "1", 이름 : "temp1", 유형 : "temp "} 4 : {id :"4 ", 그룹 :"2 ", 이름 :"pa1 ", 유형 :"pascal "} 5 : {id :"5 ", 그룹 :"2 ", 이름 :"temp_zb ", type :"temp "}' 이전에 항목의 위치였던 개체 (3,4,5)의 번호가 변경되었지만 이제 고유 번호 ID를 원합니다. 이제 오류가 있습니다 : ** [filter : notarray] ** 왜 작동하지 않습니다. 각도가 변경되지 않았습니다 - JSON에서만 - 숫자가 다릅니다. –

+0

내 plunker (https://plnkr.co/edit/EhjvrFm5c0NSSf0Vwnk2?p=preview)를 개체로 업데이트하면 제대로 작동합니다. 제 멍청이를 포크로 찍어서 문제를 재현하십시오. 도와 드리겠습니다. – Andriy