でhttp://www.binpress.com/tutorial/speeding-up-angular-js-with-simple-optimizations/135
ディレクティブには、ng-repeatよりもinterpolateを使用する方がよいと書かれています。
ng-repeatディレクティブは、パフォーマンスの問題で最悪の違反者である可能性が高く、簡単に悪用される可能性があります。ng-repeatは$ scopeオブジェクトの配列を処理する可能性が高く、これは$ digestサイクルのパフォーマンスを低下させます。
たとえば、ng-repeatを使用してグローバルナビゲーションをレンダリングする代わりに、$ interpolateプロバイダーを使用して独自のナビゲーションを作成し、オブジェクトに対してテンプレートをレンダリングしてDOMノードに変換することができます。
角度1.3を使用する場合、同じ結果を達成するために1回のバインディングでng-repeatを使用できます。
この目的のために$ interpolateを使用する方がまだ良いですか?
1.3未満の場合は、bindonceをお勧めします。bindonce
横に追加し、繰り返し部分でディレクティブをにng-repeat
変更してください。基本的に、1.3のワンタイムバインディングと同じことを行います。ng-*
bo-*
$interpolate
1.3でワンタイムバインディングの代わりに使用する必要があるというあなたの質問の場合、あなたng-repeat
を遅くするウォッチャーがなく、はるかに読みやすいので、ワンタイムバインディングで行くと思います。にもかかわらず、ng-repeat
まだ子供のスコープを作成し、あなたがそれらのスコープで何もしていない場合、パフォーマンスの違いはごくわずかです。
経験から$digest
、多くの子スコープがある場合でも、ウォッチャーをチェックしていない場合は、非常に多くの要素をレンダリングする際にブラウザーのパフォーマンスの問題が発生します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加