問題タブ [angularjs-ng-if]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
512 参照

angularjs - 関数とそのすべての変数を監視して、ngIf で使用する

ngIfDOM要素にディレクティブを適用したいのですが、これngIfは関数を監視し、その関数は他の変数の値をチェックします。次のように:

xメソッドと変数を運ぶオブジェクトです。

x.isY()およびそのthis.otherFunction()戻り値をに変更しますtrueが、ngIf は DOM 要素を再作成しません。ダイジェスト サイクルはxオブジェクトもarrayオブジェクトも監視していないようです。DOM要素に直接使用していないので、これは理にかなっています. ただし、メソッドisDone()は、状態に入ったとき、または状態から抜けたときにのみ実行されます。

次の回避策を実行しましたが、パフォーマンスの問題が懸念されます。

2 つの質問があります。

  1. isDone状態に入るときと状態から出るときに関数が実行されるのはなぜですか?
  2. ダイジェスト サイクルの実行ごとにこの関数を実行するように angular に指示するより良い方法はありますか? または、内部変数の変更を監視するには($watch各変数に追加せずに)