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 相关文章推荐
jQuery Ajax之$.get()方法和$.post()方法
Oct 12 Javascript
js 页面关闭前的出现提示的实现代码
May 25 Javascript
jquery load事件(callback/data)使用方法及注意事项
Feb 06 Javascript
详解jquery中$.ajax方法提交表单
Nov 03 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
Jun 20 Javascript
全面了解javascript中的错误处理机制
Jul 18 Javascript
js 打开新页面在屏幕中间的实现方法
Nov 02 Javascript
JavaScript实现经纬度转换成地址功能
Mar 28 Javascript
Vue.js实战之组件之间的数据传递
Apr 01 Javascript
原生JS实现多个小球碰撞反弹效果示例
Jan 31 Javascript
Vue路由钩子之afterEach beforeEach的区别详解
Jul 15 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
Jul 19 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实现文件上传与下载实例与总结
2016/03/13 PHP
DOM精简教程
2006/10/03 Javascript
获取URL地址中的文件名和参数的javascript代码
2009/09/02 Javascript
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
jQuery解决iframe高度自适应代码
2009/12/20 Javascript
jQuery之网页换肤实现代码
2011/04/30 Javascript
js中用window.open()打开多个窗口的name问题
2014/03/13 Javascript
jQuery调用ajax请求的常见方法汇总
2015/03/24 Javascript
JavaScript简单遍历DOM对象所有属性的实现方法
2015/10/21 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
2015/11/18 Javascript
jQuery中DOM节点的删除方法总结(超全面)
2017/01/22 Javascript
原生js实现鼠标跟随效果
2017/02/28 Javascript
JavaScript实现简单的四则运算计算器完整实例
2017/04/28 Javascript
JavaScript用二分法查找数据的实例代码
2017/06/17 Javascript
详解JS获取HTML DOM元素的8种方法
2017/06/17 Javascript
jQuery 点击获取验证码按钮及倒计时功能
2018/09/20 jQuery
如何提升vue.js中大型数据的性能
2019/06/21 Javascript
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
2020/12/14 NodeJs
python抓取网页中的图片示例
2014/02/28 Python
在Django中进行用户注册和邮箱验证的方法
2016/05/09 Python
PyQt 线程类 QThread使用详解
2017/07/16 Python
Python中反射和描述器总结
2018/09/23 Python
python数据分析工具之 matplotlib详解
2020/04/09 Python
Python selenium模拟手动操作实现无人值守刷积分功能
2020/05/13 Python
日本最佳原创设计品牌:Felissimo(芬理希梦)
2019/03/19 全球购物
创业女性典型材料
2014/05/02 职场文书
文明和谐家庭事迹材料
2014/05/18 职场文书
向国旗敬礼活动总结
2014/09/27 职场文书
董事长岗位职责
2015/02/13 职场文书
大学团日活动总结书
2015/05/11 职场文书
资金申请报告范文
2015/05/14 职场文书
离婚协议书范文2016
2016/03/18 职场文书
创业的9条正确思考方式
2019/08/26 职场文书
SQL Server 数据库实验课第五周——常用查询条件
2021/04/05 SQL Server
Python WSGI 规范简介
2021/04/11 Python
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js