角度范围和失去绑定

时间:2013-12-10 21:15:27

标签: angularjs angularjs-directive angularjs-scope angularjs-ng-repeat angular-resource

我无法在其他任何地方找到真正帮助我理解我的Angular问题的地方,但我怀疑它与遗传有关,我还没有完全掌握。

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

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

1 个答案:

答案 0 :(得分:3)

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

但是,fixed in Angular v1.2.4已解决此问题并this commit

因此,此版本(仅更新了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>