2016-09-20 10 views
2

ここでは$ scope.watchについてここでhttps://stackoverflow.com/a/15113029/2241256を学びました。大きなオブジェクト(長い配列ではない)でng-repeatを使用したときのAngularJSのパフォーマンス

ビューに使用されているすべてのものが角度で監視されています。ですから、ng-repeatで大きなオブジェクトを含む配列を使用しているときにどうなるのでしょうか?

各オブジェクトには「名前」という属性がありますが、これはリストで使用する唯一のものです。角度はオブジェクト全体の変更を探しますか、各オブジェクトの 'name'属性を調べますか?

答えて

3

AngularJSが原因ビューに表示の目的のちょうどそのnameプロパティを見て変更するために見ています。ちなみに、nameというプロパティの値を直接更新する必要がない場合は、変数の:: beforeを追加することで一方向データバインディングを使用できます。好き。 ng-bind="::object.name"。これを行うと、AngularJSはオブジェクトの変数を監視しません。心配しないでください。これらのオブジェクトをすべて含む配列を更新すると、AngularJSは配列の更新のためにこれらの名前属性を更新します。

一方向データバインディングについては、this pageのドキュメントを読むことができます。

2

「名前」属性のみ。
({{}}との間の)鋳型の内部で使用されているもののみ 、または手動で登録($scope.watch('myVar', function() { ... }))は

関連する問題