변경할 webapp가 있습니다. 내가 NG 반복 일부 변경 한 새로운 JSON은 다음과 같습니다 :이 같은AngularJS 부모의 색인을 얻는 방법
[
{
"styl":"nowoczesny",
"dzieci":[
{
"id":53,
"bookmark":true,
"rodzina":"Nekko",
"page":1
},
{
"id":69,
"bookmark":true,
"rodzina":"Krak",
"page":2
},
{
"id":81,
"bookmark":true,
"rodzina":"Oxen",
"page":3
},
{
"id":93,
"bookmark":true,
"rodzina":"Spirala",
"page":4
}
]
},
{
"styl":"klasyczny",
"dzieci":[
{
"id":109,
"bookmark":true,
"rodzina":"Vello",
"page":5
},
{
"id":127,
"bookmark":true,
"rodzina":"Renzo",
"page":6
},
{
"id":135,
"bookmark":true,
"rodzina":"Zenit",
"page":7
}
]
}
]
HTML :
<ul>
<li ng-repeat="l in list">
{{l.styl}}
<ul>
<li ng-repeat="dziecko in l.dzieci | filter:search "
ng-class="{active:isActiveTab(dziecko)}" ng-click="openItem(dziecko)">
{{dziecko.rodzina}}
<b>{{dziecko.page}}</b>
</li>
</ul>
</li>
모든 것이 openItem 방법에도 불구하고 잘 작동, 그 첫 번째 버전은 다음과 같습니다 :
$scope.openItem = function(item) {
var index = $scope.list.indexOf(item),
length = $scope.list.length;
$scope.opened = item;
$scope.next = $scope.list[index+1];
$scope.prev = $scope.list[index-1];
};
위의 html 코드와 호환되도록 수정하려면 어떻게해야합니까? 나는 $ index를 시도하지만 각도는 에러를 던집니다. (목록에서 하위 li 항목을 클릭하면 새 pdf 페이지를 열어야합니다.)
미리 Thx!
정확히 당신이'openItem' 방법으로해야합니까? – Rasalom
새 JSON 구조 [{a, children : [1, b, c]}]를 지원하도록 수정해야합니다. 위와 같이 바꿉니다. var var index = $ scope.list.indexOf (item) 중첩 된 자식 인덱스를 가져옵니다.이 줄은 dzieci 배열에서 수준 2가 아닌 수준 1에서 검색하므로 -1을 반환합니다. "디제이 (Dzieci)"는 부모의 또 다른 물건 내부에있는 똑같은 제품들입니다. – kuba0506