数据绑定不适用于嵌套的ng-repeat

时间:2015-04-25 21:28:03

标签: javascript angularjs

当嵌套ng-repeat时,似乎点击切换按钮会更新每个'对'中的插件(第一个ng-repeat)。任何人都可以向我解释为什么会这样,我可以做些什么来解决它?检查上面的链接以获取自定义指令代码...

<div ng-repeat="pair in pairs track by $index">
    <h3>Pair {{ $index + 1}}</h3>

    <div class='fieldrow'>
    <button ng-repeat="addon in addons track by $index" toggle-button="addon.added">{{addon.name}} (£{{addon.price}})</button>
    </div>
</div>

2 个答案:

答案 0 :(得分:0)

  

什么是对,什么是插件,它们是如何相关的。现在,即使你有一个嵌套的ng-repeat,你也有完全独立的数据结构,所以每个对的addons数组是相同的。特洛特。

根据这种见解,我将ng-repeat="addon in addons track by $index"更改为ng-repeat="addon in pair.addons track by $index"

问题解决了,谢谢!

答案 1 :(得分:0)

我认为您的代码没有任何问题。在这里看Here。 这段代码运作良好:

<div ng-repeat="pair in pairs track by $index">
    <h3>Pair {{ $index + 1}}</h3>

    <div class='fieldrow'>
    <button ng-repeat="addon in addons track by $index" toggle-button="addon.added">{{addon.name}} (£{{addon.price}})</button>
    </div>
</div>