問題タブ [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.
angularjs - 関数とそのすべての変数を監視して、ngIf で使用する
ngIf
DOM要素にディレクティブを適用したいのですが、これngIf
は関数を監視し、その関数は他の変数の値をチェックします。次のように:
x
メソッドと変数を運ぶオブジェクトです。
x.isY()
およびそのthis.otherFunction()
戻り値をに変更しますtrue
が、ngIf は DOM 要素を再作成しません。ダイジェスト サイクルはx
オブジェクトもarray
オブジェクトも監視していないようです。DOM要素に直接使用していないので、これは理にかなっています. ただし、メソッドisDone()
は、状態に入ったとき、または状態から抜けたときにのみ実行されます。
次の回避策を実行しましたが、パフォーマンスの問題が懸念されます。
2 つの質問があります。
isDone
状態に入るときと状態から出るときに関数が実行されるのはなぜですか?- ダイジェスト サイクルの実行ごとにこの関数を実行するように angular に指示するより良い方法はありますか? または、内部変数の変更を監視するには(
$watch
各変数に追加せずに)