1

我正在学习 Angular,遇到了一些问题。我正在尝试创建一组表示 javascript 对象中不同级别的指令。该对象包含许多不同的属性,这些属性取决于模型其他部分的状态。例如,如果子属性之一处于错误状态,则父属性也是。我有一个极其简单的例子HERE。任何帮助将不胜感激。特别是如果有人可以解释该示例出了什么问题并就角度设计的高级最佳实践提供建议。谢谢。

4

1 回答 1

1

您的示例的问题与 ng-repeat 创建的新范围有关。我会在这里向您推荐一个非常详细的解释,但这里是外卖:

对于每个项目/迭代,ng-repeat 创建一个新范围,该范围在原型上继承自父范围,但它还将项目的值分配给新子范围上的新属性

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

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

在您的示例中,替换

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

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

这是您修改后的示例:http ://plnkr.co/edit/IXKk75721MHNsI0zeBEG?p=preview

于 2014-05-21T03:01:39.223 回答