angular trigger changes with $watch vs ng-change, ng-checked, etc

后端 未结 4 875
遥遥无期
遥遥无期 2020-12-04 19:10

Currently we could monitor data changes with several ways. We could trigger model changes with $watch and we could add directives to elements and bind some acti

4条回答
  •  温柔的废话
    2020-12-04 19:55

    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:

    
    

    In short, you would normally bind ngChange to some HTML element. While $watch is for the models.

提交回复
热议问题