可能很多刚入行或者刚学习的前端对于AngularJs中的一些事件或者概念感觉不理解或者没有思路,今天让我们一起来剖析一下AngularJs中的一些事件。
AngularJs中对于的监听事件会用到一个scope函数$watch,它包含了三个参数,首先我们在概念上来了解一下:
$watch是一个scope函数,用于监听模型变化,当你的模型部分发生变化时它会通知你。
$watch(watchExpression, listener, objectEquality);
每个参数的说明如下:
watchExpression(必须):监听的对象,它可以是一个string,将被计算为表达式 ,或函数如function(){return $scope.name}。
listener:当watchExpression(监听对象)变化时会被调用的函数或者表达式,它接收3个参数:newValue(新值), oldValue(旧值), scope(作用域的引用)
objectEquality:是否深度监听,如果设置为true,它告诉Angular检查所监控的对象中每一个属性的变化. 如果你希望监控数组的个别元素或者对象的属性而不是一个普通的值, 那么你应该使用它。
我写了一个小例子,可能会让大家更好的了解监听模型变化的过程,以下部分是html代码:
<!doctype html> <html ng-app="exampleApp"> <head> <meta charset="utf-8"> <title></title> <link href="../css/bootstrap.css" rel="stylesheet"> //导入了本地bootstrap的框架 </head> <body ng-controller = "simpleCtrl"> <div class="container"> <div class="well"> <div class="form-group"> <input class="form-control" ng-model="name" type="text"> </div> </div> </div> </body> </html>