标签:
在使用AngulaJS编写应用时,我们经常需要做的一件事情就是对模型中的变量进行监视,并对其发生的变化做出相应的回应。AngularJS为我们提供了一个非常方便的$watch方法,它可以帮助我们在每个scope中监视其中的变量。下面是一个非常简单的例子:
<!DOCTYPE html> <html ng-app> <head> <meta charset="utf-8"> <title>2、angularjs的$watch()方法</title> <script src="../js/angularjs.js"></script> <script src="../js/index7.js"></script> </head> <body> <!-- angularjs的数据绑定,双向绑定,M,V,c之间的绑定 --> <div ng-controller="firstController"> <input type="text" ng-model="name" value="" /> <p>改变次数:{{count}}---{{name}}</p> </div> </body> </html>
var firstController=function($scope){ $scope.name="张三"; $scope.count=0; $scope.$watch("name",function(newValue,oldValue){ console.log(newValue,oldValue); ++$scope.count; if ($scope.count>10) { $scope.name="输入发生10次变化"; }; }); }
在AngularJS内部,每当我们对ng-model绑定的name属性进行一次修改,AngularJS内部的$digest就会运行一次,并在运行结束之后检查我们使用$watch来监视的东西,如果和进行上一次$digest之前相比有了变化,则执行我们在其中绑定的处理函数。
标签:
原文地址:http://www.cnblogs.com/gpxiao/p/4703286.html