ngShow
が に評価されたとしてもfalse
、ディレクティブ内でダーティ チェックを実行することはわかっています。
そうですngShow
(のようにng-show=false
):
DOM
内部を構成しngShow
(実行する必要があるため$compile
)、コンテンツを非表示/削除する、またはDOM
要素を作成するコストなしでダーティチェックのみを実行しますか?
ngShow
が に評価されたとしてもfalse
、ディレクティブ内でダーティ チェックを実行することはわかっています。
そうですngShow
(のようにng-show=false
):
DOM
内部を構成しngShow
(実行する必要があるため$compile
)、コンテンツを非表示/削除する、またはDOM
要素を作成するコストなしでダーティチェックのみを実行しますか?ng-show
要素のみを に設定しますdisplay: none
。したがって、それらは引き続き DOM に存在し、Angular によるダーティ チェックが行われます。
ng-switch
実際にDOMから要素を削除する ようなものを使用してみてください。http://docs.angularjs.org/api/ng.directive:ngSwitch
Angular.js は、コンパイル中に DOM ノードを作成しません。これにより、ブラウザーは DOM を構築し、単純にそれを通過してディレクティブを収集できます。
したがって、ノードがテンプレートにある場合、それらは実際に作成されますが、Angular ではなくブラウザーによって作成されます。