关于angular js_$watch监控属性和对象详解


Posted in Javascript onApril 24, 2017

$Watch:(监听一个model,当一个model每次改变时,都会触发第二个函数)

$watch('watchFn',watchAction,deepWatch)

watchFn:带有Angular 表达式或者函数的字符串,它会返回被监控的数据模型的当前值。

watchAction: 一个函数function(newValue,oldValue){},当watchFn 发生变化时会被调用

deepWatch:默认为false,监听数组的某个元素或者对象的属性时设置为true;

监控一个属性:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8"/>
</head>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
  <form>
    <div class="form-group">
      <input ng-model="name" />{{name}}
      <p>改变次数{{count}}</p>
    </div>
  </form>
</div>
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
<script type="text/javascript">
  
  var app = angular.module('myApp', []);
  app.controller('myCtrl', function ($scope){
    $scope.name = '橘子';
    $scope.count = 0;
    $scope.$watch('name', function (newValue, oldValue) {
      $scope.count++;
      if($scope.count >5){
        $scope.name = '苹果';
      }
    });
  });
</script>
</body>
</html>

监控一个对象(deepWidth为true)

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8"/>
</head>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
  <form>
    <div class="form-group">
      <input ng-model="Data.name" />{{Data.name}}
      <p>改变次数{{count}}</p>
    </div>
  </form>
</div>
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
<script type="text/javascript">

  var app = angular.module('myApp', []);
  app.controller('myCtrl', function ($scope){
    $scope.Data = { name: '橘子' };
    $scope.count = 0;
    $scope.$watch('Data', function (newValue, oldValue) {
      if(newValue == oldValue)
      return;
      $scope.count++;
      if($scope.count >5){
         $scope.Data.name = '苹果';
      }
    }, true);
  });
</script>
</body>
</html>

以上这篇关于angular js_$watch监控属性和对象详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
幻宇的层模拟窗口效果-提供演示和下载
Jan 20 Javascript
JavaScript中清空数组的三种方法分享
Apr 07 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
May 17 Javascript
js实现鼠标划过给div加透明度的方法
May 25 Javascript
javascript实现textarea中tab键的缩排处理方法
Jun 26 Javascript
javascript实现列表滚动的方法
Jul 30 Javascript
详解javascript事件冒泡
Jan 09 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
Sep 05 Javascript
jQuery EasyUI封装简化操作
Sep 18 Javascript
javascript数组去重方法分析
Dec 15 Javascript
vue.js路由mode配置之去掉url上默认的#方法
Nov 01 Javascript
游戏开发中如何使用CocosCreator进行音效处理
Apr 14 Javascript
Javascript操作dom对象之select全面解析
Apr 24 #Javascript
Node+Express+MongoDB实现登录注册功能实例
Apr 23 #Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
Apr 23 #jQuery
基于JavaScript实现类名的添加与移除
Apr 23 #Javascript
源码分析Vue.js的监听实现教程
Apr 23 #Javascript
Bootstrap进度条与AJAX后端数据传递结合使用实例详解
Apr 23 #Javascript
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
Apr 23 #Javascript
You might like
用PHP查询域名状态whois的类
2006/11/25 PHP
php 方便水印和缩略图的图形类
2009/05/21 PHP
php中使用Curl、socket、file_get_contents三种方法POST提交数据
2011/08/12 PHP
php中get_headers函数的作用及用法的详细介绍
2013/04/27 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
2015/02/08 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
2017/06/22 PHP
php实现构建排除当前元素的乘积数组方法
2018/10/06 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
ECMAScript 基础知识
2007/06/29 Javascript
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
2009/05/25 Javascript
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
js实现单行文本向上滚动效果实例代码
2013/11/28 Javascript
浅谈jquery中使用canvas的问题
2016/10/10 Javascript
详解ES6中的Map与Set集合
2019/03/22 Javascript
vue中使用vue-print.js实现多页打印
2020/03/05 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
2020/04/25 Javascript
js编写简易的计算器
2020/07/29 Javascript
浅谈vue websocket nodeJS 进行实时通信踩到的坑
2020/09/22 NodeJs
JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码
2020/12/01 Javascript
numpy使用技巧之数组过滤实例代码
2018/02/03 Python
浅谈django三种缓存模式的使用及注意点
2018/09/30 Python
python并发编程 Process对象的其他属性方法join方法详解
2019/08/20 Python
Python SELENIUM上传文件或图片实现过程
2019/10/28 Python
Python sorted排序方法如何实现
2020/03/31 Python
keras自动编码器实现系列之卷积自动编码器操作
2020/07/03 Python
Vans奥地利官方网站:美国原创极限运动潮牌
2018/09/30 全球购物
新西兰第一的行李箱网站:luggage.co.nz
2019/07/22 全球购物
2014乡镇党政班子四风问题思想汇报
2014/09/14 职场文书
护士长2014年终工作总结
2014/11/11 职场文书
病人慰问信范文
2015/02/15 职场文书
政协委员个人总结
2015/03/03 职场文书
调任通知
2015/04/21 职场文书
在校学生证明格式
2015/06/24 职场文书
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS