1

我正在学习Angular的过程中,遇到了一些问题。我试图创建一组代表javascript对象中不同级别的指令。该对象包含许多不同的属性,这些属性取决于模型其他部分的状态。例如,如果其中一个子属性处于错误状态,则父级也是。我有一个极其简化的例子HERE。任何帮助将不胜感激。特别是如果有人能够解释这个例子出了什么问题,并为角度设计的高级最佳实践提供建议。谢谢。角度数据传播通过范围树与控制器

回答

1

您的示例中的问题与由ng-repeat创建的新范围有关。我将把你here了很详细的说明,但这里的外卖:

对于每个项目/迭代,NG-重复创建一个新的范围,这prototypically从父范围继承,但它也受让人该项目的价值为新子 范围上的新属性。

如果item是一个基元,则基本上将该值的一个副本分配给新的子范围属性。更改子范围属性的值(即使用ng-model)不是更改父范围引用的数组。

这是一个令人困惑的问题,一个简单的解决方案:使您的可绑定值对象,而不是基元。

在你的榜样,与

scope.innerValues = [{value: 1}, {value:2}, {value:3}]; 

,这里是你的例子,改装工作更换​​

scope.innerValues = [1,2,3]; 

http://plnkr.co/edit/IXKk75721MHNsI0zeBEG?p=preview

+0

辉煌!谢谢,你是救命恩人! – AaronF

相关问题