关于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 相关文章推荐
JavaScript在IE中“意外地调用了方法或属性访问”
Nov 19 Javascript
广告切换效果(缓动切换)
May 27 Javascript
js对象之JS入门之Array对象操作小结
Jan 09 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
Jan 13 Javascript
jQuery将多条数据插入模态框的示例代码
Sep 25 Javascript
判断浏览器的内核及版本号方法汇总
Jan 05 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
Jun 13 Javascript
JS实现类似百叶窗下拉菜单效果
Dec 30 Javascript
vue axios请求拦截实例代码
Mar 29 Javascript
基于Vue实现图片在指定区域内移动的思路详解
Nov 11 Javascript
JS数组的高级使用方法示例小结
Mar 14 Javascript
Vue中函数防抖节流的理解及应用实现
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把空格、换行符、中文逗号等替换成英文逗号的正则表达式
2014/05/04 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
2015/06/03 PHP
Yii2.0实现生成二维码功能实例
2017/10/24 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
JavaScript 继承详解(二)
2009/07/13 Javascript
IE和firefox浏览器的event事件兼容性汇总
2009/12/06 Javascript
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
jquery ajax jsonp跨域调用实例代码
2013/12/11 Javascript
js通过八个点 拖动改变div大小的实现方法
2014/03/05 Javascript
jQuery设置指定网页元素宽度和高度的方法
2015/03/25 Javascript
基于javascript如何传递特殊字符
2015/11/30 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
2017/03/30 jQuery
详解windows下vue-cli及webpack 构建网站(三)使用组件
2017/06/17 Javascript
jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例
2017/08/04 jQuery
vue系列之动态路由详解【原创】
2017/09/10 Javascript
基于Vue2.0+ElementUI实现表格翻页功能
2017/10/23 Javascript
webpack构建的详细流程探底
2018/01/08 Javascript
webpack4.x下babel的安装、配置及使用详解
2019/03/07 Javascript
vue ssr+koa2构建服务端渲染的示例代码
2020/03/23 Javascript
[04:50]DOTA2亚洲邀请赛小组赛第四日 TOP10精彩集锦
2015/02/02 DOTA
python使用Tkinter显示网络图片的方法
2015/04/24 Python
Python面向对象之类和对象实例详解
2018/12/10 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
2019/01/03 Python
python使用递归的方式建立二叉树
2019/07/03 Python
使用Python制作新型冠状病毒实时疫情图
2020/01/28 Python
vue学习笔记之动态组件和v-once指令简单示例
2020/02/29 Python
Avène雅漾美国官方网站:敏感肌肤护理专家
2016/10/24 全球购物
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
Gibson London官网:以地道的英国男装而著称
2019/12/06 全球购物
编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的
2015/07/23 面试题
介绍一下linux文件系统分配策略
2012/11/17 面试题
政协调研汇报材料
2014/08/15 职场文书
健康状况证明模板
2014/10/23 职场文书
党支部四风整改方案
2014/10/25 职场文书
MySQL InnoDB ReplicaSet(副本集)简单介绍
2021/04/24 MySQL