2016-10-20 1 views
3

は、それがより良いNG-クラス奇数とNG-クラスさえするのではなく、 ng-class-oddを使用する効率

ul li:nth-child(odd){} 
ul li:nth-child(even){} 

を使用することですか? ng-class-odd/ ng-class-even立派です:

つまりは私のリストには、どこかの間に30から200行

答えて

1

TLDRが持っていること、「UL」リスト内の行の別の着色のためのjavascriptよりもCSSを使用する方が効率的

ですしかし、CSSよりもパフォーマンスが悪く、具体的なコントロールはあまりありません。 ng-class-odd/ng-class-evenを使用することができます。パフォーマンスに

:ブラウザがDOMにかかわらず、変更などの要素のスタイルを評価する必要があるため

生のCSSは、常に表現のAngularJS」評価よりも高速である必要があります。 ng-class-odd/ng-class-even属性を評価することは、これらの計算された属性値を生成するための余分な計算です。現実の世界では

ng-class-evenul li:nth-child(odd){}はまったく同じものではありません。 ng-class-evenng-repeatで表示されますが、セレクタng-class-evenでは独立していてもかまいません。必要に応じてより具体的なセレクタを適用できます。これを最初のアイテムにしないでください。 CSSが必要です。

これは、エレガンス、パフォーマンス、コントロールの間のトレードオフのようです。

数千から数千の行を見ている場合を除き、パフォーマンスは問題にならないため、人々にとって見栄えのよいコードを書く必要があります。 もちろん、私はこの極端なユースケースのパフォーマンスの違いに関するいくつかの難しい統計を見たいと思っています!優雅あまり制御し、以下のパフォーマンスを得るために

ng-repeatにあなたのCSSを結ぶとng-class-evenを使用しないでください。

パフォーマンスとコントロール(ただし、優雅さは低下します)では、CSSを使用し、ng-class-evenではなく使用してください。

関連する問題