所以我有一个ng-repeat嵌套在另一个ng-repeat中,以构建一个导航菜单。在内部ng-repeat循环的每个<li>上,我设置了一个ng-click,通过传入$index来调用该菜单项的相关控制器,让应用程序知道我们需要哪个。然而,我还需要从外部ng-repeat传递$index,以便应用程序知道我们在哪个部分以及哪个教程。
<ul ng-repeat="section in sections">
<li class="section_title {{section.active}}" >
{{section.name}}
</li>
<ul>
<li class="tutorial_title {{tutorial.active}}" ng-click="loadFromMenu($index)" ng-repeat="tutorial in section.tutorials">
{{tutorial.name}}
</li>
</ul>
</ul>
这是普伦克http://plnkr.co/edit/bJUhI9oGEQIql9tahIJN?p=preview
在处理对象时,您希望尽可能方便地忽略简单的id。
如果你把点击线改为这样,我认为你会很好地走上你的道路:
<li class="tutorial_title {{tutorial.active}}" ng-click="loadFromMenu(tutorial)" ng-repeat="tutorial in section.tutorials">
另外,我觉得你可能需要改变一下
class="tutorial_title {{tutorial.active}}"
比如
ng-class="tutorial_title {{tutorial.active}}"
登录http://docs.angularjs.org/misc/faq,查找ng-class。
使用这个语法怎么样(看看这个plunker)。我刚刚发现了这个,非常棒。
ng-repeat="(key,value) in data"
例子:
<div ng-repeat="(indexX,object) in data">
<div ng-repeat="(indexY,value) in object">
{{indexX}} - {{indexY}} - {{value}}
</div>
</div>
使用此语法,您可以为$index指定自己的名称并区分这两个索引。
在处理对象时,您希望尽可能方便地忽略简单的id。
如果你把点击线改为这样,我认为你会很好地走上你的道路:
<li class="tutorial_title {{tutorial.active}}" ng-click="loadFromMenu(tutorial)" ng-repeat="tutorial in section.tutorials">
另外,我觉得你可能需要改变一下
class="tutorial_title {{tutorial.active}}"
比如
ng-class="tutorial_title {{tutorial.active}}"
登录http://docs.angularjs.org/misc/faq,查找ng-class。