2013-03-20 69 views
5

我似乎無法讓我的頭圍繞這個小問題:NG-顯示爲NG-重複內的特定元素

<ul ng-repeat="parent in parents"> 
    <li>Mother: <i>{{parent.mother}}</i></li> 
    <li>Father: <i>{{parent.father}}</i></li> 
    <a href="#" ng-click="showKids()">Show Kids</a> 
    <ul ng-repeat="kid in parent.kids" ng-show="active"> 
    <li>{{kid.name}}</li> 
    </ul> 
</ul> 

http://jsfiddle.net/twSFK/5/

當我點擊「查看孩子」,只有我想要展示我點擊的父母的孩子,但不是其他人。所以我需要某種類型的索引,用於在ng-show中使用的模型,以僅定位特定元素。由於$ scope.parents來自後端服務器,並加載了ng-init,我不知道如何訪問它以在控制器寫入列表之前添加「活動」元素。

回答

10

您可以設置ng-repeat="parent in parents"迭代器的索引並使用它有兩個功能發揮:showKids(index)將迎來什麼樣的父房源應該去當你點擊一個孩子掛牌爲活動,爲了isShowing(index)知道sublisting你應該什麼孩子與ng-show

顯示我按照我的想法改寫你的代碼在這裏http://jsfiddle.net/odiseo/twSFK/7/

+0

看起來不錯,謝謝! – 2013-03-20 21:48:37

+0

爲了完整起見 - 我已經改編了這個版本,現在這正是我們想要的: http://jsfiddle.net/twSFK/12/ 切換孩子彼此獨立,交替根據show-Status顯示/隱藏鏈接 – 2013-03-21 17:50:05