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操作select下拉列表框的代码
Jun 04 Javascript
JS字符串处理实例代码
Aug 05 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
Sep 27 Javascript
javascript属性访问表达式用法分析
Apr 25 Javascript
简介JavaScript中的italics()方法的使用
Jun 08 Javascript
js实现瀑布流的三种方式比较
Jun 28 Javascript
微信小程序 template模板详解及实例代码
Mar 09 Javascript
在Vue.js中使用Mixins的方法
Sep 12 Javascript
Vue入门之数据绑定(小结)
Jan 08 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
Nov 05 Javascript
vue多次循环操作示例
Feb 08 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
Mar 16 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
浅析Apache中RewriteCond规则参数的详细介绍
2013/06/30 PHP
利用“多说”制作留言板、评论系统
2015/07/14 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
ThinkPHP3.2.1图片验证码实现方法
2016/08/19 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
2016/10/25 PHP
PHP使用mysqli操作MySQL数据库的简单方法
2017/02/04 PHP
理解javascript中的回调函数(callback)
2014/09/02 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
jQuery中$.grep() 过滤函数 数组过滤
2016/11/22 Javascript
Angular.Js之Scope作用域的学习教程
2017/04/27 Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
2017/05/27 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
2017/10/24 Javascript
13 个npm 快速开发技巧(推荐)
2019/07/04 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
JavaScript实现联动菜单特效
2020/01/07 Javascript
js实现弹幕飞机效果
2020/08/27 Javascript
uniapp微信小程序:key失效的解决方法
2021/01/20 Javascript
[03:44]2014DOTA2国际邀请赛 71专访:DK战队赛前讨论视频遭泄露
2014/07/13 DOTA
python中安装Scrapy模块依赖包汇总
2017/07/02 Python
python递归全排列实现方法
2018/08/18 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
Django 开发环境配置过程详解
2019/07/18 Python
用Python徒手撸一个股票回测框架搭建【推荐】
2019/08/05 Python
Python pyautogui模块实现鼠标键盘自动化方法详解
2020/02/17 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
Python unittest框架操作实例解析
2020/04/13 Python
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
计算机应用与科学个人的自我评价
2013/11/15 职场文书
群众路线四风问题整改措施
2014/09/27 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
工作犯错保证书
2015/05/11 职场文书
初中同学会致辞
2015/08/01 职场文书
小组口号霸气押韵
2015/12/24 职场文书
Win11电脑显示本地时间与服务器时间不一致怎么解决?
2022/04/05 数码科技