Friday, May 17, 2024
 Popular · Latest · Hot · Upcoming
169
rated 0 times [  176] [ 7]  / answers: 1 / hits: 21395  / 9 Years ago, wed, february 4, 2015, 12:00:00

When should I use angular $watch functions and when use ng-change angularjs directive? To me, they both can do the same.



Are there any differences or usage patterns between them?


More From » angularjs

 Answers
24

They are not the same, clearly. One is used solely in the controller; the other is a directive on an input element.



But even in their application they differ.



When you use $watch the watched expression will be evaluated on every digest cycle, and if there is a change, the handler is invoked.



With ng-change, the handler is invoked explicitly in response to an event.



With $watch, change can come from anywhere: user action, controller function, service - all will trigger the handler.



With ng-change, the change is restricted to a user action on a particular input element.



It is worth to note also that ng-change works only in combination with ng-model - in other words, the ng-change expression is evaluated only when ngModel.$viewValue (refer to ngModelController documentation for more info) is changed, which typically happens in response to a user-initiated event.


[#67956] Monday, February 2, 2015, 10 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
hasanb

Total Points: 321
Total Questions: 102
Total Answers: 96

Location: Burkina Faso
Member since Fri, Sep 4, 2020
4 Years ago
;