angularjs中使用$scope.$watch监控对象模型的变化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了angularjs中使用$scope.$watch监控对象模型的变化相关的知识,希望对你有一定的参考价值。

如果对象模型发生变化时,可以使用$scope.$watch监控变化

<html ng-app="myApp">
<head>
<title>angularjs-demo</title>
<script type="text/javascript" src="lib/angularjs/angular.min.js" charset="utf-8"></script>
</head>
<body ng-controller="ctrl">
<input type="text" ng-model="text1" ng-model-options="{ updateOn: ‘blur‘ }" />
<div>输入框内容改变次数:{{count}}</div>
</body>
<script type="text/javascript">
var app = angular.module(myApp, [])
.controller(ctrl, function($scope){
    $scope.count = 0;
    $scope.$watch(text1,function(){
        $scope.count++;
    });
});
</script>
</html>

 

稍微改一下,输出修改前后的内容:

<html ng-app="myApp">
<head>
<title>angularjs-demo</title>
<script type="text/javascript" src="lib/angularjs/angular.min.js" charset="utf-8"></script>
</head>
<body ng-controller="ctrl">
<input type="text" ng-model="text1" ng-model-options="{ updateOn: ‘blur‘ }" />
<div>输入框内容改变次数:{{count}}</div>
<div>原内容:{{content1}}</div>
<div>新内容:{{content2}}</div>
</body>
<script type="text/javascript">
var app = angular.module(myApp, [])
.controller(ctrl, function($scope){
    $scope.count = 0;
    $scope.$watch(text1,function(newValue,oldValue){
        $scope.count++;
        $scope.content1 = oldValue;
        $scope.content2 = newValue;
    });
});
</script>
</html>

 

以上是关于angularjs中使用$scope.$watch监控对象模型的变化的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS中的$watch(),$digest()和$apply()

一步步构建自己的AngularJS——scope之$watch及$digest

AngularJS $watch 与 $watchCollection:性能哪个更好?

AngularJS:$scope.$watch 没有更新从自定义指令上的 $resource 获取的值

关于angularJS的$watch的 一些小用法

angularjs中 $watch 和$on 2种监听的区别?