2013-03-20 67 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