Evaluate the given expression when the user changes the input. The expression is evaluated immediately, unlike the JavaScript onchange event which only triggers at the end of a change (usually, when the user leaves the form element or presses the return key).
谢邀。
首先,我可否纠正一个用词的小瑕疵。
你说“$watch监视一个下拉框”,
ng
是一个实现数据双向绑定的,具有声明式API的框架,这里的$watch
是不可能去监视一个DOM元素下拉框
的。合适的用词可以写作"$watch监视的一个指向下拉框所选值的表达式"更为准确(语文好的朋友可以再优化)。在提问时,我们往往过分关注自己想知道问题的答案,而忽略表达方式,结果经常无疾而终,这类题目在sf中非常常见,提问人描述含糊其辞,令人无从做答。其实题主的描述还能看懂,只是有感而发多说几句。
言归正传,既然不想对数据初始化的那一次
$watch
做处理,那可以这样判断一下使用ngChange可以避免初始化的调用
注意:
需要结合ngModel一起使用
使用程序更改ngModel的值并不会触发ngChange
ngChange 文档