Vue使用watch监听一个对象中的属性的实现方法


Posted in Javascript onMay 10, 2019

问题描述

Vue提供了一个watch方法可以让使用者去监听某些data内的数据变动,触发相应的方法,比如

queryData: {
   name: '',
   creator: '',
   selectedStatus: '',
   time: [],
 },

第一种解决方案:直接对象

现在我需要监听这个queryData,我可以这样做:

watch: {
   queryData: {
     handler: function() {
      //do something
     },
     deep: true
   }
}

第二种解决方案:deep

里面的deep设为了true,这样的话,如果修改了这个queryData中的任何一个属性,都会执行handler这个方法。不过其实这样开销是蛮大的,尤其是对象里面结构嵌套过深的时候。而且有时候我们就想关心这个对象中的某个属性,比如name,这个时候可以这样

watch: {
   'queryData.name': {
     handler: function() {
      //do something
     },
   }
}

第三种解决方案:(computed+watch)

或者还可以这样巧用计算属性

computed: {
  getName: function() {
    return this.queryData.name
  }
}
watch: {
   getName: {
     handler: function() {
      //do something
     },
   }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。 

Javascript 相关文章推荐
图片自动缩小的js代码,用以防止图片撑破页面
Mar 12 Javascript
javascript实现动态改变层大小的方法
May 14 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
May 24 Javascript
BootStrap智能表单实战系列(七)验证的支持
Jun 13 Javascript
浅谈js中test()函数在正则中的使用
Aug 19 Javascript
jQuery ajax请求struts action实现异步刷新
Apr 19 jQuery
ES6扩展运算符的用途实例详解
Aug 20 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
Apr 04 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
Dec 12 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
Feb 01 jQuery
javascript将扁平的数据转为树形结构的高效率算法
Feb 27 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
Jun 05 Javascript
微信小程序获取用户信息并保存登录状态详解
May 10 #Javascript
jsonp实现百度下拉框功能的方法分析
May 10 #Javascript
微信小程序用户授权,以及判断登录是否过期的方法
May 10 #Javascript
利用es6 new.target来对模拟抽象类的方法
May 10 #Javascript
Angular4.0动画操作实例详解
May 10 #Javascript
Angular 2使用路由自定义弹出组件toast操作示例
May 10 #Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
May 10 #Javascript
You might like
PHP手机号码归属地查询代码(API接口/mysql)
2012/09/04 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
成为好程序员必须避免的5个坏习惯
2014/07/04 PHP
PHP实现显示照片exif信息的方法
2014/07/11 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
Mac下关于PHP环境和扩展的安装详解
2019/10/17 PHP
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
可缩放Reloaded-一个针对可缩放元素的复用组件
2007/03/10 Javascript
javascript 获取图片颜色
2009/04/05 Javascript
Javascript Tab 导航插件 (23个)
2009/06/11 Javascript
简略的前端架构心得&&基于editor为例子的编码小技巧
2010/11/25 Javascript
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
每天一篇javascript学习小结(基础知识)
2015/11/10 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
2016/05/12 Javascript
js创建数组的简单方法
2016/07/27 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
2016/12/15 Javascript
Three.js开发实现3D地图的实践过程总结
2017/11/20 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
2019/09/03 Javascript
layer页面跳转,获取html子节点元素的值方法
2019/09/27 Javascript
js实现幻灯片轮播图
2020/08/14 Javascript
vue中配置scss全局变量的步骤
2020/12/28 Vue.js
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
python实现挑选出来100以内的质数
2015/03/24 Python
python爬取w3shcool的JQuery课程并且保存到本地
2017/04/06 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
2019/06/14 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
python async with和async for的使用
2019/06/20 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
2019/08/15 Python
Python2与Python3关于字符串编码处理的差别总结
2020/09/07 Python
python中@property的作用和getter setter的解释
2020/12/22 Python
写一个在SQL Server创建表的SQL语句
2012/03/10 面试题
基层党组织建设整改方案
2014/09/16 职场文书
挂靠协议书
2015/01/27 职场文书
大学生个人简历自我评价
2015/03/11 职场文书
应聘教师求职信范文
2015/03/20 职场文书
原生Javascript+HTML5一步步实现拖拽排序
2021/06/12 Javascript