Both $watch
and ngChange
have totally different usages:
Lets say you have a model defined on a scope:
$scope.myModel = [
{
"foo":"bar"
}
];
Now if you want to do something whenever any changes happen to myModel
you would use $watch
:
$scope.$watch("myModel", function(newValue, oldValue){
// do something
});
ngChange
is a directive that would evaluate given expression when user changes the input:
<select ng-model="selectedOption" ng-options="option for option in options"
ng-change="myModel=selectedOption"></select>
In short, you would normally bind ngChange
to some HTML element. While $watch
is for the models.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…