私のリストにはたくさんのアイテムがあり、そのうちのいくつかは最終状態にあり、変更されずに一部が変更されるという状況に遭遇しました。私は考えていましたが、Angularの条件付きバインディング( '::')を使用する方法はありますか?私は最終的なフラグがtrueの場合と同様に、1回のバインディングを使用します。それ以外の場合は通常のバインドを使用します。1回限りのバインディングを条件付きで適用する
DOM構造全体をng-ifで複製し、1回限りのバインディングで、もう1つに通常のバインディングを持たせる必要がありますか?ディレクティブにif節を包む
<div>{{::myvar}}</div>
<div>{{myvar}}</div>
:
<div is-final='true' ng-model='myvar'></div>
<div is-final='false' ng-model='myvar'></div>
へ:
条件付きの1回限りのバインディングは現在サポートされていないものです。何千もの項目について話している場合を除き、 'ng-if'と重複したコードで強制的に実行することによるパフォーマンス上のメリットを得ることは疑いありません。その点、最初にUIの多くの項目を持つのはなぜですか? – Claies
@ Claies、私はチャットウィンドウを持っていますが、同時に数千ものメッセージがありませんが、これらのメッセージには送信者、テキスト、到着時刻などのデータ依存フィールドがかなりあります。最新の送信メッセージは、配信されたサーバーからの保留中の確認メッセージです。他のすべてのメッセージは静的に留まることができますが、このメッセージは賛同イベントで変更する必要があります。 – pokrishka
@ Claiesさらに、このコンポーネントは妥当な量の腕時計を備えていますが、時計の数を最小限に抑えるようにしてください。他のページにはウォッチャーや他の課税コンポーネント。ただ倹約しようとする。 – pokrishka