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.a}} の背後にある AngularJS ウォッチャーが、このように obj.b を変更した場合に実行されるかどうかです。

$scope.players[0].b = 666

言い換えれば、画面に描画されたオブジェクトの配列を持っている場合、それらのオブジェクトのいずれかのビューにバインドされていない属性を変更すると、ビューはとにかくそれ自体を再描画しようとしますか?

4

1 に答える 1

1

いいえ、補間は$parseサービスを使用して、何を見るべきかを把握しています。変更時にそのテキスト ノードのみを更新しますobj.a

それは書くことに似てい$scope.$watch("obj.a", handler)ます。この場合、すべてのダイジェストでそのステートメントを評価しています。そのステートメントの結果が変わると、関数が呼び出されます。補間の場合、コールバック関数は DOM を更新します。

于 2013-10-28T01:08:28.443 に答える