AngularJS实现一次监听多个值发生的变化


Posted in Javascript onAugust 31, 2016

一、$watch简单使用

$watch是一个scope函数,用于监听模型变化,当你的模型部分发生变化时它会通知你。

$watch(watchExpression, listener, objectEquality);

每个参数的说明如下:

watchExpression:监听的对象,它可以是一个angular表达式如'name',或函数如function(){return $scope.name}

listener:watchExpression变化时会被调用的函数或者表达式,它接收3个参数:newValue(新值), oldValue(旧值), scope(作用域的引用)

objectEquality:是否深度监听,如果设置为true,它告诉Angular检查所监控的对象中每一个属性的变化. 如果你希望监控数组的个别元素或者对象的属性而不是一个普通的值, 那么你应该使用它

举个栗子:

$scope.name = 'hello';

var watch = $scope.$watch('name',function(newValue,oldValue, scope){

    console.log(newValue);

    console.log(oldValue);

});

$timeout(function(){

    $scope.name = "world";

},1000);

二、监听多个值的变化

大家通常遇到的情况为通过$watch()一次监听一个值的变化,当然这种时候满足绝大部分情况。但是通过阅读官网对于$watch()的解释,$watch()还有第三个参数,第三个参数是一个布尔类型,表示是否深度监听,深度监听的例子就是是否进行比较对象的属性。

这样我们就可以实现一次监听多个值的变化。

示例代码

var app=angular.module("watchApp",[])
      .controller("watchController",["$scope",function($scope){
         $scope.object={};
         $scope.object.one=$scope.one;
         $scope.object.one=$scope.one;
         $scope.$watch("object",function(){
            .....
          },true);
      }])

总结

以上就是关于AngularJS如何一次监听多个值发生变化的全部内容,大家都学会了吗?希望这篇文章的内容对大家的学习和工作能有所帮助,如果有疑问可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
javascript编程起步(第六课)
Jan 10 Javascript
ExtJS 工具栏 分页事件参数
Mar 05 Javascript
jquery获取元素索引值index()示例
Feb 13 Javascript
jquery+easeing实现仿flash的载入动画
Mar 10 Javascript
JavaScript黑洞数字之运算路线查找算法(递归算法)实例
Jan 28 Javascript
Bootstrap媒体对象的实现
May 01 Javascript
JavaScript事件用法浅析
Oct 31 Javascript
微信小程序 wxapp画布 canvas详细介绍
Oct 31 Javascript
AngularJs每天学习之总体介绍
Aug 07 Javascript
jQuery 选择器用法基础入门示例
Jan 04 jQuery
jQuery实现滑动开关效果
Aug 02 jQuery
VUE+Element实现增删改查的示例源码
Nov 23 Vue.js
利用Angularjs和bootstrap实现购物车功能
Aug 31 #Javascript
JavaScript String(字符串)对象的简单实例(推荐)
Aug 31 #Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
Aug 31 #Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
Aug 31 #Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
Aug 31 #Javascript
基于JavaScript实现点击页面任何位置返回
Aug 31 #Javascript
jquery datatable服务端分页
Aug 31 #Javascript
You might like
php笔记之:AOP的应用
2013/04/24 PHP
phpphp图片采集后按原路径保存图片示例
2014/02/18 PHP
PHP Curl模拟登录微信公众平台、新浪微博实例代码
2016/01/28 PHP
round robin权重轮循算法php实现代码
2016/05/28 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
JavaScript去掉空格的方法集合
2010/12/28 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
JavaScript动态创建div等元素实例讲解
2016/01/06 Javascript
location.hash保存页面状态的技巧
2016/04/28 Javascript
jquery文字填写自动高度的实现方法
2016/11/07 Javascript
JavaScript使用原型和原型链实现对象继承的方法详解
2017/04/05 Javascript
layui框架中layer父子页面交互的方法分析
2017/11/15 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
nodejs 如何手动实现服务器
2018/08/20 NodeJs
详解Vue CLI3配置之filenameHashing使用和源码设计使用和源码设计
2018/08/31 Javascript
vue写h5页面的方法总结
2019/02/12 Javascript
vue+eslint+vscode配置教程
2019/08/09 Javascript
Vue中computed及watch区别实例解析
2020/08/01 Javascript
python函数参数*args**kwargs用法实例
2013/12/04 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
Python Scapy随心所欲研究TCP协议栈
2018/11/20 Python
python爬虫爬取幽默笑话网站
2019/10/24 Python
python输出pdf文档的实例
2020/02/13 Python
一款纯css3实现的圆形旋转分享按钮旋转角度可自己调整
2014/09/02 HTML / CSS
智能家居、吸尘器、滑板车、电动自行车网上购物:Geekmaxi
2021/01/18 全球购物
中专毕业个人的自荐信格式
2013/09/21 职场文书
如何进行有效的自我评价
2013/09/27 职场文书
杠杆的科学教学反思
2014/01/10 职场文书
幼儿评语大全
2014/04/30 职场文书
工地标语大全
2014/06/18 职场文书
群众路线领导干部个人对照检查材料(集锦)
2014/09/23 职场文书
2015年度个人业务工作总结
2015/04/27 职场文书
绿里奇迹观后感
2015/06/15 职场文书
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python