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 相关文章推荐
jQuery对象[0]是什么含义?
Jul 31 Javascript
纯JavaScript实现HTML5 Canvas六种特效滤镜示例
Jun 28 Javascript
一个JS的日期格式化算法示例
Jul 31 Javascript
JS获取文本框,下拉框,单选框的值的简单实例
Feb 26 Javascript
jQuery获取上传文件的名称的正则表达式
May 21 Javascript
JavaScript实现点击文本自动定位到下拉框选中操作
Jun 15 Javascript
js图片上传前预览功能(兼容所有浏览器)
Aug 24 Javascript
概述一个页面从输入URL到页面加载完的过程
Dec 16 Javascript
微信小程序之蓝牙的链接
Sep 26 Javascript
微信小程序实现传递多个参数与事件处理
Aug 12 Javascript
JS一次前端面试经历记录
Mar 19 Javascript
JS快速实现简单计算器
Apr 08 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和ACCESS写聊天室(八)
2006/10/09 PHP
PHP循环结构实例讲解
2014/02/10 PHP
PHP页面实现定时跳转的方法
2014/10/31 PHP
PHP中error_reporting()用法详解
2015/08/31 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
PHP+MySQL存储数据常见中文乱码问题小结
2016/06/13 PHP
Yii控制器中filter过滤器用法分析
2016/07/15 PHP
Lazy Load 延迟加载图片的 jQuery 插件
2010/02/06 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
JQuery显示、隐藏div的几种方法简明总结
2015/04/16 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
easyui导出excel无法弹出下载框的快速解决方法
2016/11/10 Javascript
JavaScript中校验银行卡号的实现代码
2016/12/19 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
微信小程序中用WebStorm使用LESS
2017/03/08 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
vue 实现类似淘宝星级评分的示例
2018/03/01 Javascript
[05:36]DOTA2 2015国际邀请赛中国区预选赛第四日TOP10
2015/05/29 DOTA
python实现给数组按片赋值的方法
2015/07/28 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
使用Python自动生成HTML的方法示例
2019/08/06 Python
Python中IP地址处理IPy模块的方法
2019/08/16 Python
python将字母转化为数字实例方法
2019/10/04 Python
执行Django数据迁移时报 1091错误及解决方法
2019/10/14 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
Python3中FuzzyWuzzy库实例用法
2020/11/18 Python
工地资料员岗位职责
2013/12/31 职场文书
2014五一国际劳动节活动总结范文
2014/04/14 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书
纪检监察立案决定书
2015/06/24 职场文书
800字作文之大雪
2019/12/04 职场文书
apache基于端口创建虚拟主机的示例
2021/04/22 Servers
Golang并发操作中常见的读写锁详析
2021/08/30 Golang