詳細な説明:
$watch はドロップダウン ボックスを監視します。ユーザーがドロップダウン ボックス内のオプションをクリックしたときのみ、フロント エンドがバック エンドにデータの更新を要求することが期待されます。
現在の問題は次のとおりです。
Web ページがロードされ、ドロップダウン ボックスが初めて表示されると、$watch が自動的に 1 回実行されます。ng メカニズムは、ロードがユーザーのクリックであると認識します。
この場合に $watch の自動実行を無効にする方法を知りたい
迷茫2017-05-15 17:06:22
お誘いありがとうございます。
まず、表現上の小さな欠陥を修正できますか。
「$watch はドロップダウン ボックスを監視する」と言いましたが、ng
は双方向のデータ バインディングを実装し、宣言型 API を備えた $watch
を備えたフレームワークです。ここでは不可能です。 DOM 要素を監視するには、ドロップダウン ボックス
を使用します。適切な表現は、「ドロップダウン ボックスの選択された値を指す $watch によって監視される式」として記述することができ、これはより正確です (中国語が得意な友人はさらに最適化できます)。 ng
是一个实现数据双向绑定的,具有声明式API的框架,这里的$watch
是不可能去监视一个DOM元素下拉框
的。合适的用词可以写作"$watch监视的一个指向下拉框所选值的表达式"更为准确(语文好的朋友可以再优化)。
在提问时,我们往往过分关注自己想知道问题的答案,而忽略表达方式,结果经常无疾而终,这类题目在sf中非常常见,提问人描述含糊其辞,令人无从做答。其实题主的描述还能看懂,只是有感而发多说几句。
言归正传,既然不想对数据初始化的那一次$watch
$watch
の処理をしたくないので、このように判断しても大丈夫です🎜
リーリー習慣沉默2017-05-15 17:06:22
ngChange を使用すると初期化呼び出しを回避できます
注意:
ngModel と組み合わせて使用する必要があります
プログラムを使用して ngModel の値を変更しても、ngChange はトリガーされません
ユーザーが入力を変更すると、指定された式が評価されます。変更の最後にのみトリガーされる JavaScript の onchange イベントとは異なり、式はすぐに評価されます (通常、ユーザーがフォーム要素から離れるか、またはリターンキーを押します)。
ng文書変更