当前位置: 首页 > news >正文

vue watch数据监听

概念:监听数据变化,当数据更新是自动执行函数

应用场景:搜索数据、当一个数据发生了变化需要进行二外的操作时需要用到watch。

1、语法:(与data,methods同级)

1.1、监听的变量(newVal, aldVal){}

1.2、监听的变量:{handler(newVal, aldVal){},属性}
 

2接收两个参数:

第一个newVal为改变后的数据,第二个aldVal为改变前的数据:

watch: {
    name(newVal, aldVal) {
      console.log(
        "发生了修改。" + "修改后: " + newVal + "  修改前: " + aldVal
      );
    },
}

应用场景:

什么时候用?

当数据发生改变后,需要额外做其他的操作时(复杂逻辑应用,可能包含异步)

3属性

默认为数据发生改变后执行监听,可通过属性改变:

immediate: true 立刻监听

语法:

watch:{
    数据名: {
        handler(newVal, aldVal) {
            console.log("发生了修改。" + "修改后: " + newVal + "  修改前: " + aldVal);
        },
        // 立即监听属性
        immediate: true,
    },
}

deep:true 深度监听

应用场景:对象的监听

注意点:一般情况下不会用深度监听,一般直接监听对象中具体某一个属性

语法:

user: {
  handler(newVal, aldVal) {
    console.log(
      "发生了修改。" + "修改后: " , newVal , "  修改前: " ,aldVal
    );
  },
    // 深度监听
    deep:true
},

deep优化:

直接监听对象中具体某一个属性

"obj.age": {
    handler(val, oldVal) {
        console.log(val, oldVal);
    },
    deep: true,
    immediate: true,		// 此时监听的数据不是一个对象,可以使用immediate
}

相关文章:

  • R语言——字符串
  • RTSP/Onvif安防监控平台EasyNVR抓包命令tcpdump使用不了,该如何解决?
  • 模型搭建与复现
  • 【Linux网络-多路转接select】
  • Active Directory (AD): 企业网络用户管理的重要性及 AD 迁移方法
  • UNIX网络编程笔记:TCP、UDP、SCTP编程的区别
  • 解决 MySQL 的 sql_mode 中包含 only_full_group_by模式导致group by SQL报错
  • PHP eval 长度限制绕过与 Webshell 获取
  • 穿透Session 0隔离
  • 【每日算法】Day 6-1:哈希表从入门到实战——高频算法题(C++实现)
  • 网络安全基础:五类安全服务、八种安全机制与OSI七层模型的全面解析
  • HTML——什么是块级元素,什么是内联元素,有何区别
  • 使用Django创建项目及介绍
  • OBS虚拟背景深度解析:无需绿幕也能打造专业教学视频(附插件对比)
  • 小蓝的括号串(栈,dfs)
  • 电气、电子信息与通信工程的探索与应用
  • Python正则表达式(一)
  • 远程登录服务(ssh)
  • unordered_map
  • 直播预告 | TDgpt 智能体发布 时序数据库 TDengine 3.3.6 发布会即将开启
  • 网页的制作教程/网站seo视频教程
  • 一流的南京网站建设/网络营销课程培训机构
  • 贵州 做企业网站的流程/公司做网站推广
  • 2015年做哪些网站能致富/社群运营的经典案例
  • 连云区住房和城乡建设局网站/web设计一个简单网页
  • 顺德网站建设信息/徐州seo