0

如果我有这样的范围

$scope.array = [ { a: 1, b: 2 }, { a: 2, b: 1 }];

以期:

<div>A:
  <div ng-repeat="obj in array">{{obj.a}}</div>
</div>

考虑到表达式 {{obj.a}} 是通过 ng-repeat 指令提供的,我的问题是,如果我像这样更改 obj.b,表达式 {{obj.a}} 后面的 AngularJS 观察程序是否会执行

$scope.players[0].b = 666

换句话说,在屏幕上绘制了一组对象,如果我更改了未绑定到其中一个对象的视图的属性,¿视图是否会尝试重绘自身?

4

1 回答 1

1

不,插值是使用该$parse服务来确定要观看的内容。它只会在obj.a更改时更新该文本节点。

它类似于写作$scope.$watch("obj.a", handler)。在这种情况下,它会在每个摘要上评估该语句。如果该语句的结果发生变化,那么它将调用您的函数。在插值的情况下,回调函数会更新 DOM。

于 2013-10-28T01:08:28.443 回答