vue2.0 watch里面的 deep和immediate用法说明


Posted in Javascript onOctober 30, 2020

deep,默认值是 false,代表是否深度监听。

immediate:true代表如果在 wacth 里声明了之后,就会立即先去执行里面的handler方法,如果为 false就跟我们以前的效果一样,不会在绑定的时候就执行。

computed: {
 btnObj() {
 const { sign_img, check } = this
 return {
  sign_img,
  check
 }
 }
},
watch: {
 btnObj: {
 handler: function(newVal,oldVal) {
  if(!!this.sign_img && this.check){
  this.submit_flag = true
  this.sign_flag = '1'
  }else{
  this.submit_flag = false
  this.sign_flag = '0'
  }
 },
 deep: true,
 immediate: true
 }
}

补充知识:在vue中使用watch监测数据改变的deep:true,和immediate:true

在项目中,有时候检测一个变量的值是否反升了变化。通常使用的watch或者使用低效的循环判断。

在次vue中给我们设置了深度监测数据繁盛变化的方法。

1.vue中提供了在watch监听时设置deep:true 就可以实现对对象的深度监听;

2.immediate:true,代表watch里面声明了之后会立马执行handler里面的函数。

vue2.0 watch里面的 deep和immediate用法说明

这是一个使用vuex中的一个数据,settingData.在实际中要检测其值发生改变之后要让一个button按钮的disabled属性移除。我们可以使用类似的方式,但是这样写的时候必须使用handler函数。

还有immediate:true,代表watch里面声明了之后会立马执行handler里面的函数。执行相应的逻辑。

如果不设置这些属性可以使用循环的方式。

1.若是检测的是对象,使用循环的时候可以将其转换成数组。(简单的对象处理)

1.使用Object.keys(obj)将其对象中的key拿出来放进一个数组中

a.for...in...

b.[].slice.call(object)

2.然后使用循环将对相应的值存储在另一个数组中。

3.然后根据业务逻辑处理相应的数组

vue2.0 watch里面的 deep和immediate用法说明

2.使用es6语法糖的方式

1.数组转对象

vue2.0 watch里面的 deep和immediate用法说明

2.对象转数组

Array.from(object)

复杂的问题总有简单的思路,遇到问题先思考出路然后写代码。

以上这篇vue2.0 watch里面的 deep和immediate用法说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS面向对象、prototype、call()、apply()
May 14 Javascript
在myeclipse中如何加入jquery代码提示功能
Jun 03 Javascript
一段非常简单的js判断浏览器的内核
Aug 17 Javascript
javascript中Math.random()使用详解
Apr 15 Javascript
Jquery ajax 同步阻塞引起的UI线程阻塞问题
Nov 17 Javascript
移动端横屏的JS代码(beta)
May 16 Javascript
微信小程序 wxapp视图容器 view详解
Oct 31 Javascript
浅谈Express异步进化史
Sep 09 Javascript
javascript计算渐变颜色的实例
Sep 22 Javascript
Vue SPA单页应用首屏优化实践
Jun 28 Javascript
vue子路由跳转实现tab选项卡
Jul 24 Javascript
js实现盒子滚动动画效果
Aug 09 Javascript
JavaScript实现轮播图效果
Oct 30 #Javascript
vue组件添加事件@click.native操作
Oct 30 #Javascript
解决removeEventListener 无法清除监听的问题
Oct 30 #Javascript
详解 javascript对象创建模式
Oct 30 #Javascript
ES6中的Javascript解构的实现
Oct 30 #Javascript
vue video和vue-video-player实现视频铺满教程
Oct 30 #Javascript
Echarts.js无法引入问题解决方案
Oct 30 #Javascript
You might like
PHP多线程之内部多线程实例分析
2015/03/09 PHP
thinkphp框架下实现登录、注册、找回密码功能
2016/04/06 PHP
PHP模板引擎Smarty内建函数详解
2016/04/11 PHP
php实现按天数、星期、月份查询的搜索框
2016/05/02 PHP
PHP is_array() 检测变量是否是数组的实现方法
2016/06/13 PHP
PHP 实现base64编码文件上传出现问题详解
2020/09/01 PHP
javascript 表格排序和表头浮动效果(扩展SortTable)
2009/04/07 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
2013/09/12 Javascript
JQuery与Ajax调用新浪API获取短网址的代码
2014/02/07 Javascript
javascript运行机制之this详细介绍
2014/02/07 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
2015/03/26 Javascript
JavaScript中的getMilliseconds()方法使用详解
2015/06/10 Javascript
让你一句话理解闭包(简单易懂)
2016/06/03 Javascript
HTML中setCapture、releaseCapture 使用方法浅析
2016/09/25 Javascript
js阻止移动端页面滚动的两种方法
2017/01/25 Javascript
js实现截图保存图片功能的代码示例
2017/02/16 Javascript
Vue 项目部署到服务器的问题解决方法
2017/12/05 Javascript
使用react context 实现vue插槽slot功能
2019/07/18 Javascript
JS面向对象编程实现的Tab选项卡案例详解
2020/03/03 Javascript
小程序实现背景音乐播放和暂停
2020/06/19 Javascript
[01:13]DOTA2群星解读国服召集令 一起说出回归的理由
2013/07/17 DOTA
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
python读写ini文件示例(python读写文件)
2014/03/25 Python
Python实现控制台输入密码的方法
2015/05/29 Python
Python中判断输入是否为数字的实现代码
2018/05/26 Python
Django 路由系统URLconf的使用
2018/10/11 Python
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
好的自荐信包括什么内容
2013/11/07 职场文书
如何写好升职自荐信
2014/01/06 职场文书
一年级班主任寄语
2014/01/19 职场文书
听课评语大全
2014/04/30 职场文书
贷款担保申请书
2014/05/20 职场文书
七年级作文之英语老师
2019/10/28 职场文书
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python