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 相关文章推荐
javascript操作文本框readOnly
May 15 Javascript
javascript 事件处理、鼠标拖动效果实现方法详解
May 11 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
Oct 11 Javascript
基于jQuery实现的幻灯图片切换
Dec 02 Javascript
JavaScript实现公历转农历功能示例
Feb 13 Javascript
requirejs按需加载angularjs文件实例
Jun 08 Javascript
详解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
Jun 16 Javascript
vue修改对象的属性值后页面不重新渲染的实例
Aug 09 Javascript
trackingjs+websocket+百度人脸识别API实现人脸签到
Nov 26 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
Mar 02 Javascript
JS获取表格视图所选行号的ids过程解析
Feb 21 Javascript
js实现磁性吸附的示例
Oct 26 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删除特定数组内容并且重建数组索引的方法.
2011/03/25 PHP
浅析php过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
PHP+Ajax实现验证码的实时验证
2016/07/20 PHP
PHP简单实现合并2个数字键数组值的方法
2017/05/30 PHP
Laravel中正确地返回HTTP状态码方法示例
2019/09/10 PHP
使用ExtJS技术实现的拖动树结点
2010/08/05 Javascript
jquery isType() 类型判断代码
2011/02/14 Javascript
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
2011/05/07 Javascript
jQuery Deferred和Promise创建响应式应用程序详细介绍
2013/03/05 Javascript
js比较和逻辑运算符的介绍
2013/03/10 Javascript
js如何取消事件冒泡
2013/09/23 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
轻松实现JavaScript图片切换
2016/01/12 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
JavaScript继承与聚合实例详解
2019/01/22 Javascript
移动端自适应flexible.js的使用方法(不用三大框架,仅写一个单html页面使用)推荐
2019/04/02 Javascript
js实现金山打字通小游戏
2020/07/24 Javascript
Django中使用group_by的方法
2015/05/26 Python
python采集百度百科的方法
2015/06/05 Python
Python File(文件) 方法整理
2019/02/18 Python
python调用虹软2.0第三版的具体使用
2019/02/22 Python
python3 enum模块的应用实例详解
2019/08/12 Python
Python urllib2运行过程原理解析
2020/06/04 Python
Python scrapy爬取小说代码案例详解
2020/07/09 Python
如何将json数据转换为python数据
2020/09/04 Python
简述python&pytorch 随机种子的实现
2020/10/07 Python
python中PyQuery库用法分享
2021/01/15 Python
行政工作个人的自我评价
2014/02/13 职场文书
人事专员职责
2014/02/22 职场文书
三分钟自我介绍演讲稿
2014/08/21 职场文书
幼儿园六一儿童节活动总结
2015/02/10 职场文书
2015秋季幼儿园开学通知
2015/07/16 职场文书
信息技术课教学反思
2016/02/23 职场文书
微信小程序中wxs文件的一些妙用分享
2022/02/18 Javascript
微信告警的zabbix监控系统 监控整个NGINX集群
2022/04/18 Servers