1

ngShowが に評価されたとしてもfalse、ディレクティブ内でダーティ チェックを実行することはわかっています。

そうですngShow(のようにng-show=false):

  • DOM内部を構成しngShow(実行する必要があるため$compile)、コンテンツを非表示/削除する、または
  • DOM要素を作成するコストなしでダーティチェックのみを実行しますか?
4

2 に答える 2

1

ng-show要素のみを に設定しますdisplay: none。したがって、それらは引き続き DOM に存在し、Angular によるダーティ チェックが行われます。

ng-switch実際にDOMから要素を削除する ようなものを使用してみてください。http://docs.angularjs.org/api/ng.directive:ngSwitch

于 2013-04-18T15:00:32.010 に答える
0

Angular.js は、コンパイル中に DOM ノードを作成しません。これにより、ブラウザーは DOM を構築し、単純にそれを通過してディレクティブを収集できます。

したがって、ノードがテンプレートにある場合、それらは実際に作成されますが、Angular ではなくブラウザーによって作成されます。

于 2013-04-18T14:01:50.870 に答える