2013-06-05 16 views
10

実行中にngRepeatを使用してレンダリングされた配列に項目が追加された場合は、すべての項目を再描画しますか?新しいアイテムを追加した後、ngRepeatはすべてのアイテムを再レンダリングしますか?

+2

この質問に対する明確な答えは、しかし、あなたは、このような入力できませんので、それが提出することができない「はい。」短い答え。 – Stewie

+2

@Stewieそうでない方がいいですね。 「はい」で始まります。理由/説明を追加し、参照にリンクします。または、「はい」のままにしておきます。コメントで。それも大丈夫です。 – user2246674

+0

あなたは正しいです(答えの制限について)が、質問は「なぜそれを再描画するのですか?」という質問はしません。質問のフォーマットと長さには理解する傾向がないngRepeat動作の深い理由。それが私の「答え」が示すつもりです。 – Stewie

答えて

6

はい、すべての項目が再描画されます。

実際、他の時にも項目を再描画することができます。

例:親ディレクティブ/テンプレートの値が更新されたとき。 '$ digest'ループ中、Angularはスコープツリーを評価し、影響を受ける子コンポーネントを再描画します。

詳細情報:角1.2以降

+0

答えをありがとう!ここに質問が続きます:) http://stackoverflow.com/questions/16968614/how-to-implment-a-load-more-pagination-in-angularjs-without-ng-repeat – redben

+1

この記事によると、それはすべてを再描画しないhttp://www.bennadel.com/blog/2443-Rendering-DOM-Elements-With-ngRepeat-In-AngularJS.htm – redben

+1

これは良い点です!明確にするために、angleがターゲット要素がすでに存在すると判断できる場合は、新しいDOM要素を追加することはできません。 **しかし、**変更された要素は再評価されます - これは高価な操作が再実行されることにつながります。さらに、特定のデータ型の 'ng-repeat'は常にすべての要素を再描画します。つまり、http://stackoverflow.com/q/14969502/317180 –

関連する問題