关于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 相关文章推荐
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
Jul 03 Javascript
javascript解三阶幻方(九宫格)
Apr 22 Javascript
JavaScript中数组的合并以及排序实现示例
Oct 24 Javascript
关于网页中的无缝滚动的js代码
Jun 09 Javascript
Mongoose学习全面理解(推荐)
Jan 21 Javascript
ES6 Promise对象概念与用法分析
Apr 01 Javascript
vue省市区三联动下拉选择组件的实现
Apr 28 Javascript
关于Vue在ie10下空白页的debug小结
May 02 Javascript
Vue在页面右上角实现可悬浮/隐藏的系统菜单
May 04 Javascript
微信小程序实现跑马灯效果完整代码(附效果图)
May 30 Javascript
Vue组件全局注册实现警告框的实例详解
Jun 11 Javascript
使用webpack4编译并压缩ES6代码的方法示例
Apr 24 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获取服务器信息的实现代码
2013/02/04 PHP
php中file_get_contents与curl性能比较分析
2014/11/08 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
PHP生成图片缩略图类示例
2017/01/12 PHP
PHP获取真实IP及IP模拟方法解析
2020/11/24 PHP
jQuery 翻牌或百叶窗效果(内容三秒自动切换)
2012/06/14 Javascript
Js 时间函数getYear()的使用问题探讨
2013/04/01 Javascript
使用jquery中height()方法获取各种高度大全
2014/04/02 Javascript
jQuery通过扩展实现抖动效果的方法
2015/03/11 Javascript
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
jquery+CSS3模拟Path2.0动画菜单效果代码
2015/08/31 Javascript
Jquery zTree 树控件异步加载操作
2016/02/25 Javascript
jQuery实现摸拟alert提示框
2016/05/22 Javascript
JavaScript数据结构链表知识详解
2016/11/21 Javascript
vue 组件 全局注册和局部注册的实现
2018/02/28 Javascript
vue 开发一个按钮组件的示例代码
2018/03/27 Javascript
Node.js 使用request模块下载文件的实例
2018/09/05 Javascript
jQuery控制input只能输入数字和两位小数的方法
2019/05/16 jQuery
VUE路由动态加载实例代码讲解
2019/08/26 Javascript
用python实现批量重命名文件的代码
2012/05/25 Python
举例讲解Linux系统下Python调用系统Shell的方法
2015/11/07 Python
python去除字符串中的换行符
2017/10/11 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
2018/12/19 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
python GUI计算器的实现
2020/10/09 Python
小天鹅官方商城:LittleSwan
2017/06/16 全球购物
美国现代家具购物网站:LexMod
2019/01/09 全球购物
上课打牌的检讨书
2014/02/15 职场文书
企业员工爱岗敬业演讲稿
2014/08/26 职场文书
2014年最新大专生职业生涯规划书范文
2014/09/13 职场文书
工作失职检讨书范文
2015/05/05 职场文书
小学五年级班主任工作经验交流材料
2015/11/02 职场文书
2019新学期家长会工作计划
2019/08/21 职场文书
Python 制作自动化翻译工具
2021/04/25 Python
记一次Mysql不走日期字段索引的原因小结
2021/10/24 MySQL
Oracle 触发器trigger使用案例
2022/02/24 Oracle