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 相关文章推荐
prototype class详解
Sep 07 Javascript
js 鼠标拖动对象 可让任何div实现拖动效果
Nov 09 Javascript
教您去掉ie网页加载进度条的方法
Dec 09 Javascript
使用js判断TextBox控件值改变然后出发事件
Mar 07 Javascript
jQuery如何使用自动触发事件trigger
Nov 29 Javascript
JS中动态创建元素的三种方法总结(推荐)
Oct 20 Javascript
js判断iframe中元素是否存在的实现代码
Dec 24 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
Jan 11 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
Feb 05 Javascript
JS扩展String.prototype.format字符串拼接的功能
Mar 09 Javascript
JavaScript闭包与作用域链实例分析
Jan 21 Javascript
JS轮播图的实现方法
Aug 24 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中的global
2014/08/19 PHP
php中解析带中文字符的url函数分享
2015/01/20 PHP
PHP制作用户注册系统
2015/10/23 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
PHP学习笔记之session
2018/05/06 PHP
为Extjs加加速(javascript加速)
2010/08/19 Javascript
JavaScript根据数据生成百分比图和柱状图的实例代码
2013/07/14 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
2014/11/17 Javascript
Jquery对select的增、删、改、查操作
2015/02/06 Javascript
js实现可控制左右方向的无缝滚动效果
2016/05/29 Javascript
Bootstrap实现水平排列的表单
2016/07/04 Javascript
VUE实现日历组件功能
2017/03/13 Javascript
MUI  Scroll插件的使用详解
2017/04/13 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
2017/05/08 Javascript
jQuery实现表格冻结顶栏效果
2017/08/20 jQuery
JS函数进阶之prototy用法实例分析
2020/01/15 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
[03:09]2014DOTA2国际邀请赛 赛场上的美丽风景线 中国Coser也爱DOTA2
2014/07/20 DOTA
[50:27]Secret vs VG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python模拟表单提交登录图书馆
2018/04/27 Python
对Python函数设计规范详解
2019/07/19 Python
使用OpenCV circle函数图像上画圆的示例代码
2019/12/27 Python
python super函数使用方法详解
2020/02/14 Python
Python 跨.py文件调用自定义函数说明
2020/06/01 Python
Python 字符串池化的前提
2020/07/03 Python
如何基于python把文字图片写入word文档
2020/07/31 Python
Python使用pycharm导入pymysql教程
2020/09/16 Python
用python实现一个简单的验证码
2020/12/09 Python
Black Halo官方网站:购买连衣裙、礼服和连体裤
2018/06/13 全球购物
J2EE面试题大全
2016/08/06 面试题
护士专业推荐信
2013/11/02 职场文书
保洁主管岗位职责
2013/11/20 职场文书
机关保密工作承诺书
2015/05/04 职场文书
春晚观后感
2015/06/11 职场文书
优质服务标语口号
2015/12/26 职场文书
Go语言操作数据库及其常规操作的示例代码
2021/04/21 Golang