[英]When to use $watch or ng-change in Angularjs
什么時候應該使用angular $watch
函數和何時使用ng-change
angularjs指令? 對我來說,他們都可以這樣做。
它們之間是否存在差異或使用模式?
它們顯然不一樣。 一個僅用於控制器; 另一個是輸入元素的指令。
但即使在他們的應用中他們也不同。
當你使用$watch
,將在每個摘要周期評估被監視的表達式,如果有更改,則調用該處理程序。
通過ng-change
,可以顯式調用處理程序以響應事件。
使用$watch
,更改可以來自任何地方:用戶操作,控制器功能,服務 - 所有都將觸發處理程序。
使用ng-change
,更改僅限於對特定輸入元素的用戶操作。
值得注意的是, ng-change
僅與ng-model
結合使用 - 換句話說, ng-change
表達式僅在ngModel.$viewValue
時被評估ngModel.$viewValue
(參考ngModelController
文檔獲取更多信息)被更改,這通常是響應用戶發起的事件而發生。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.