Vuejs中的watch实例详解(监听者)


Posted in Javascript onJanuary 05, 2020

最近刚刚追完庆余年,心思还总是在剧情里,然后就觉得在vuejs里watch就是监察院,一个不折不扣的特务机构。在Vue中watch被称为监听者,它随时观察这vue实例中每一个数据的变化,当数据发生改变,做出响应。

通过下面的示例代码来看一下这个监察院是怎么运作的:

new Vue({
  el:"#app",
  data(){
    reutrn {
      candy:""
    }
  },
  //传说中的监察院start
  watch:{
    candy:{
      handler(newVal,oldVal){
      },
      immediate: true,
      deep:true
    }
  }
  //传输中的监察院end
})
/***
watch中监控这candy这个数据的变化,
handler中传入了两个参数:
newVal->是改变后的数据
oldVal->是改变前的数据
***/

按照庆余年的剧情分析,监察院在监控candy这个人,一旦candy发生变节,就会执行handler中的操作,newVal和oldVal就好像是提供给监察院人员来判断如果candy是内部斗争还是叛国,根据情节处以什么样的处罚。

代码中 immediate 和 deep 又是什么意思呢?

immediate和deep像是庆帝给陈萍萍的指令:

immediate为true是告诉监察院不管candy有没有变节,都先给他点处罚,敲山震虎!

deep为true是告诉监察院往深了查,看看有没有什么人跟这个人联络了,联络以后又发生了事!

写这篇文章的时候,我也在跟朋友探讨watch和updated,updated也是在数据发生改变的时候做出相应,但是如果将updated说成是监察院就感觉太喽了!updated不能指定监测数据,只要有数据发生变化就会指向updated中的方法,不管谁发生变化都会执行,这么不灵活怎么能配的上监察院这么厉害的特务机构呢!嘻嘻!

总结

以上所述是小编给大家介绍的Vuejs中的watch实例详解,希望对大家有所帮助!

Javascript 相关文章推荐
JavaScript 布尔操作符解析  && || !
Aug 10 Javascript
jQuery中attr()方法用法实例
Jan 05 Javascript
jQuery 回调函数(callback)的使用和基础
Feb 26 Javascript
BootStrap table表格插件自适应固定表头(超好用)
Aug 24 Javascript
Vue监听数据对象变化源码
Mar 09 Javascript
jQuery自动或手动图片切换效果
Oct 11 jQuery
vue.js的computed,filter,get,set的用法及区别详解
Mar 08 Javascript
Vue项目中跨域问题解决方案
Jun 05 Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
Oct 20 Javascript
JS字符串补全方法padStart()和padEnd()
May 27 Javascript
Vue实现boradcast和dispatch的示例
Nov 13 Javascript
JavaScript canvas实现流星特效
May 20 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
Jan 05 #Javascript
原生js实现文件上传、下载、封装等实例方法
Jan 05 #Javascript
详解jQuery中的prop()使用方法
Jan 05 #jQuery
vue 对axios get pust put delete封装的实例代码
Jan 05 #Javascript
JavaScript修改注册表实例代码
Jan 05 #Javascript
详解JavaScript修改注册表的方法
Jan 05 #Javascript
js判断非127开头的IP地址的实例代码
Jan 05 #Javascript
You might like
ThinkPHP实现一键清除缓存方法
2014/06/26 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
2015/02/12 PHP
解读PHP中的垃圾回收机制
2015/08/10 PHP
php字符串的替换,分割和连接方法
2016/05/23 PHP
深入理解PHP JSON数组与对象
2016/07/19 PHP
PHP简单创建压缩图的方法
2016/08/24 PHP
微信推送功能实现方式图文详解
2019/07/12 PHP
jQuery与其它库冲突的解决方法
2010/06/25 Javascript
js时间戳格式化成日期格式的多种方法
2013/11/11 Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
2016/08/29 Javascript
Node.js下自定义错误类型详解
2016/10/17 Javascript
AngularJS指令中的绑定策略实例分析
2016/12/14 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
Angular 4依赖注入学习教程之ClassProvider的使用(三)
2017/06/04 Javascript
JS前端模块化原理与实现方法详解
2020/03/17 Javascript
vue 重塑数组之修改数组指定index的值操作
2020/08/09 Javascript
Vue实现摇一摇功能(兼容ios13.3以上)
2021/01/26 Vue.js
用于统计项目中代码总行数的Python脚本分享
2015/04/21 Python
Python 描述符(Descriptor)入门
2016/11/20 Python
浅谈python socket函数中,send与sendall的区别与使用方法
2017/05/09 Python
Django原生sql也能使用Paginator分页的示例代码
2017/11/15 Python
django 按时间范围查询数据库实例代码
2018/02/11 Python
python2.7无法使用pip的解决方法(安装easy_install)
2018/04/03 Python
Python使用reportlab模块生成PDF格式的文档
2019/03/11 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
Python字节单位转换实例
2019/12/05 Python
python爬虫实现POST request payload形式的请求
2020/04/30 Python
Python Tornado核心及相关原理详解
2020/06/24 Python
python3将变量输入的简单实例
2020/08/19 Python
Python自定义sorted排序实现方法详解
2020/09/18 Python
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
银行学习十八大感想
2014/01/11 职场文书
校园安全教育广播稿
2014/02/17 职场文书
《少年王冕》教学反思
2014/04/11 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
关于Python中*args和**kwargs的深入理解
2021/08/07 Python