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 相关文章推荐
通过修改referer下载文件的方法
May 11 Javascript
a标签click和href执行顺序探讨
Jun 23 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
Aug 03 Javascript
每天一篇javascript学习小结(String对象)
Nov 18 Javascript
深入学习AngularJS中数据的双向绑定机制
Mar 04 Javascript
Javascript中常用类型的格式化方法小结
Dec 26 Javascript
微信小程序 自定义对话框实例详解
Jan 20 Javascript
react-native ListView下拉刷新上拉加载实现代码
Aug 03 Javascript
vue移动端弹框组件的实例
Sep 25 Javascript
详解小程序input框失焦事件在提交事件前的处理
May 05 Javascript
node读写Excel操作实例分析
Nov 06 Javascript
vue cli4中mockjs在dev环境和build环境的配置详情
Apr 06 Vue.js
微信小程序获取用户信息并保存登录状态详解
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
在线增减.htpasswd内的用户
2006/10/09 PHP
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
2006/12/13 PHP
PHPWind 发帖回帖Api PHP版打包下载
2010/02/08 PHP
超级实用的7个PHP代码片段分享
2012/01/05 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
2019/09/30 PHP
js保存当前路径(cookies记录)
2010/12/14 Javascript
jQuery LigerUI 使用教程入门篇
2012/01/18 Javascript
JQuery的Ajax请求实现局部刷新的简单实例
2014/02/11 Javascript
WEB前端设计师常用工具集锦
2014/12/09 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
2015/07/27 Javascript
基于jquery实现的仿优酷图片轮播特效代码
2016/01/13 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
2016/11/21 Javascript
浅析JavaScript中作用域和作用域链
2016/12/06 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
JavaScript html5 canvas实现图片上画超链接
2017/10/20 Javascript
React-native桥接Android原生开发详解
2018/01/17 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
vue项目首屏打开速度慢的解决方法
2019/03/31 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
2019/04/08 Javascript
python requests 使用快速入门
2017/08/31 Python
给你选择Python语言实现机器学习算法的三大理由
2017/11/15 Python
python 绘制拟合曲线并加指定点标识的实现
2019/07/10 Python
详解python实现交叉验证法与留出法
2019/07/11 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
2020/05/16 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
法学专业应届生求职信
2013/10/16 职场文书
房屋继承公证书
2014/04/10 职场文书
技术合作协议书范本
2014/04/18 职场文书
2016中学教师读书心得体会
2016/01/13 职场文书
apache基于端口创建虚拟主机的示例
2021/04/24 Servers
日元符号 ¥
2022/02/17 杂记
python解析照片拍摄时间进行图片整理
2022/07/23 Python