初次学习,仅供自己学习复习使用 $watch
在scope内置的所有函数中,用的最多的就是$watch函数了,当数据模型的某一部分发生变化的时候,$watch可以向你发出通知,你可以监控单个对象的属性,也可以监控经过计算的结果,只要能被当做属性访问到的,或者可以当做一个javascript函数被计算出来的,都可以被$watch监控.
$watch(watchfn,watchaction,deepwatch);
参数:
watchfn:会返回被监控数据模型的当前值。就是被监控的东西,形式是函数或者字符串
watchaction:被监控者发生变化时触发的函数,他会接受watchfn新旧两个值,以及作用域对象的引用,其函数签名为:function(newval,oldval,scope);
deepwatch:监控里边的所有值,即监控深度。
ex:
<div ng-controller="k">
<input type="text" ng-model="lo"/>
<span ng-bind="lo"></span>
</div>
<script>
var a=angular.module('lio',[]);
a.controller('k',function($scope){
$scope.$watch('lo',function(newval,oldval,scope){
if(newval!=oldval){
alert(123);
}
})
});
</script>