2

我无法在这里找到真正帮助我理解我的 Angular 问题的其他任何地方,但我怀疑它与我尚未完全掌握的继承有关。

我正在执行自定义指令的 ng-repeat,并在尝试从资源更新集合时看到奇怪的行为。这是 plnkr: http ://plnkr.co/edit/QXAFvQix8oUiVMlMuEXw

要查看问题所在,请单击“完成注册”按钮,该按钮从资源中检索 json 并替换当前集合。我期望这些卡被更新的卡所取代,但正在发生的事情是前 2 张卡似乎不再绑定到范围(或以某种方式被僵尸化)并且添加了 2 张新卡。每次后续更新都会按预期更新新卡。我错过了什么?

4

1 回答 1

3

您遇到了隔离范围意外泄漏到同一元素上定义的其他指令的问题。

然而,这个提交的 Angular v1.2.4已经解决并修复了这个问题。

因此,此版本(仅更新 Angular)有效:http ://plnkr.co/edit/kufU5fI90j2lj2jdyLBx?p=preview

编写它使其与 AngularJS 版本无关的方法是通过嵌套指令保持范围之间的关系非常清晰:

  <div ng-repeat="student in currentUser.studentCollection">
     <div student-card  
       student="student" 
       unit-schools="unitSchools"></div>
  </div>
于 2013-12-10T21:30:20.490 回答