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实现检测浏览器及版本的脚本代码
Jan 22 Javascript
zTree插件之单选下拉菜单实例代码
Nov 07 Javascript
Javascript实现的SHA-256加密算法完整实例
Feb 02 Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
Aug 29 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
Sep 21 Javascript
jquery实现(textarea)placeholder自动换行
Dec 22 Javascript
Omi v1.0.2发布正式支持传递javascript表达式
Mar 21 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
Nov 22 Javascript
Vue render深入开发讲解
Apr 13 Javascript
JS面向对象实现飞机大战
Aug 26 Javascript
antd的select下拉框因为数据量太大造成卡顿的解决方式
Oct 31 Javascript
vue中如何自定义右键菜单详解
Dec 08 Vue.js
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
浅析echo(),print(),print_r(),return之间的区别
2013/11/27 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
Laravel框架实现的上传图片到七牛功能详解
2019/09/06 PHP
jquery 多级下拉菜单核心代码
2010/05/21 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
2013/07/09 Javascript
Javascript加载速度慢的解决方案
2014/03/11 Javascript
JavaScript控制网页层收起和展开效果的方法
2015/04/15 Javascript
javascript实现checkbox全选的代码
2015/04/30 Javascript
jquery实现兼容IE8的异步上传文件
2015/06/15 Javascript
JS实现Select的option上下移动的方法
2016/03/01 Javascript
详解Immutable及 React 中实践
2018/03/01 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
JS动画实现回调地狱promise的实例代码详解
2018/11/08 Javascript
layui的select联动实现代码
2019/09/28 Javascript
vue实现简单加法计算器
2020/10/22 Javascript
vue3+typescript实现图片懒加载插件
2020/10/26 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
介绍Python中的一些高级编程技巧
2015/04/02 Python
Python操作Access数据库基本步骤分析
2016/09/19 Python
Python通过Pygame绘制移动的矩形实例代码
2018/01/03 Python
基于numpy.random.randn()与rand()的区别详解
2018/04/17 Python
详解Python中的正则表达式
2018/07/08 Python
Python使用gRPC传输协议教程
2018/10/16 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
Django Python 获取请求头信息Content-Range的方法
2019/08/06 Python
详解PyTorch中Tensor的高阶操作
2019/08/18 Python
Python第三方库的几种安装方式(小结)
2020/04/03 Python
Python利用Pillow(PIL)库实现验证码图片的全过程
2020/10/04 Python
建筑专业自我鉴定
2013/10/22 职场文书
幼儿园国庆节活动方案
2014/02/01 职场文书
计算机网络专业自荐信
2014/07/04 职场文书
小学运动会演讲稿
2014/08/25 职场文书
小学庆六一活动总结
2014/08/28 职场文书
pytorch 梯度NAN异常值的解决方案
2021/06/05 Python
JavaScript模拟实现网易云轮播效果
2022/04/04 Javascript
CentOS 7安装mysql5.7使用XtraBackUp备份工具命令详解
2022/04/12 MySQL