vue watch监听对象及对应值的变化详解


Posted in Javascript onFebruary 24, 2018

如下所示:

var vm=new Vue({
  data:{
    a:1,
    b:{
      c:1
    }
  },
  watch:{
    a(val, oldVal){//普通的watch监听
      console.log("a: "+val, oldVal);
    },
    b:{//深度监听,可监听到对象、数组的变化
      handler(val, oldVal){
        console.log("b.c: "+val.c, oldVal.c);//但是这两个值打印出来却都是一样的
      },
      deep:true
    }
  }
})
vm.a=2
vm.b.c=2

a是一个普通的值,当a的值变化时会被监听到,b是一个对象,不能直接像a那么写,需要深度监听才能捕捉到,但是当我想去捕捉b对象中某一个值的变化时却发现,打印出来的两个值是不一样的,如图:

vue watch监听对象及对应值的变化详解

这样就只能知道对象发生变化却不知道具体哪个值发生了变化,如果想监听对象某一个值得变化可以利用计算属性computed

var vm=new Vue({
  data:{
    b:{
      c:1
    }
  },
  watch:{
    newValue(val, oldVal){
      console.log("b.c: "+val, oldVal);
    }
  },
  computed: {
  newValue() {
  

return this.b.c
  
}
  }
})
vm.b.c=2

用watch去监听computed计算过的值就可以直接知道是哪个对应的值发生了变化,结果如图:

vue watch监听对象及对应值的变化详解

以上这篇vue watch监听对象及对应值的变化详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
网站被黑的假象--ARP欺骗之页面中加入一段js
May 16 Javascript
Javascript学习笔记二 之 变量
Dec 15 Javascript
js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME
Dec 20 Javascript
easyui Droppable组件实现放置特效
Aug 19 Javascript
AngularJS中的Directive自定义一个表格
Jan 25 Javascript
多种js图片预加载实现方式分享
Feb 19 Javascript
jQuery实现简单漂亮的Nav导航菜单效果
Mar 29 jQuery
如何利用@angular/cli V6.0直接开发PWA应用详解
May 06 Javascript
详解微信小程序用定时器实现倒计时效果
Apr 30 Javascript
JavaScript Math对象和调试程序的方法分析
May 13 Javascript
laravel-admin 与 vue 结合使用实例代码详解
Jun 04 Javascript
Vue组件间数据传递的方式(3种)
Jul 13 Javascript
解决Vue不能检测数组或对象变动的问题
Feb 24 #Javascript
vue将对象新增的属性添加到检测序列的方法
Feb 24 #Javascript
jQuery实现碰到边缘反弹的动画效果
Feb 24 #jQuery
vue cli webpack中使用sass的方法
Feb 24 #Javascript
vue-cli常用设置总结
Feb 24 #Javascript
JS处理一些简单计算题
Feb 24 #Javascript
jQuery 改变P标签文本值方法
Feb 24 #jQuery
You might like
基于文本的搜索
2006/10/09 PHP
相对路径转化成绝对路径
2007/04/10 PHP
php从数组中随机抽取一些元素的代码
2012/11/05 PHP
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
2015/11/30 PHP
php基于jquery的ajax技术传递json数据简单实例
2016/04/15 PHP
XAMPP升级PHP版本实现步骤解析
2020/09/04 PHP
基础的prototype.js常用函数及其用法
2007/03/10 Javascript
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
鼠标滚轴控制文本框值的JS代码
2013/11/19 Javascript
jQuery网页右侧广告跟随滚动代码分享
2020/04/20 Javascript
全面解析Bootstrap表单使用方法(表单样式)
2015/11/24 Javascript
高效的jquery数字滚动特效
2015/12/17 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
2016/01/28 Javascript
AngularJS基础 ng-mouseleave 指令详解
2016/08/02 Javascript
nodejs async异步常用函数总结(推荐)
2017/11/17 NodeJs
详解使用create-react-app添加css modules、sasss和antd
2018/07/31 Javascript
angular6根据environments配置文件更改开发所需要的环境的方法
2019/03/06 Javascript
小程序中英文混合排序问题解决
2019/08/02 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
2019/10/11 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
Python实现的直接插入排序算法示例
2018/04/29 Python
简单了解python反射机制的一些知识
2019/07/13 Python
python基础教程之while循环
2019/08/14 Python
用Python实现职工信息管理系统
2020/12/30 Python
HTML5 Canvas的常用线条属性值总结
2016/03/17 HTML / CSS
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
母亲七十大寿答谢词
2014/01/18 职场文书
高三体育教学反思
2014/01/29 职场文书
四年级数学教学反思
2014/02/02 职场文书
双语教学实施方案
2014/03/23 职场文书
满月酒主持词
2014/03/27 职场文书
研究生求职自荐书
2014/06/23 职场文书
法人委托书的范本格式
2014/09/11 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
2019年恭贺升学祝福语集锦
2019/08/15 职场文书
redis lua限流算法实现示例
2022/07/15 Redis