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

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
}


http://www.kler.cn/a/612236.html

相关文章:

  • 关于spark在yarn上运行时候内存的介绍
  • 【Minio-优化浅谈】
  • CI/CD(六) helm部署ingress-nginx(阿里云)
  • 【后端】【Django】信号使用详解
  • C#面向对象 一些细节
  • 基于C++实现一个平面上的形状编辑程序
  • ChatGPT 4o 更新了图像能力,效果怎么样?
  • 青否数字人直播系统包括六大互动功能,保障直播间能够实现智能化实时互动!
  • RSA算法深度解析:从数学基础到安全实践
  • Docker容器的kafka在VM虚拟机挂起重新运行之后连接异常解决
  • 【人工智能】一部正在书写的传奇,从诞生到未来蓝图
  • 【力扣hot100题】(007)无重复字符的最长子串
  • Rust从入门到精通之进阶篇:17.宏编程基础
  • 排序算法(插入,希尔,选择,冒泡,堆,快排,归并)
  • 漫画|基于SprinBoot+vue的漫画网站(源码+数据库+文档)
  • Docker+Ollama+Xinference+RAGFlow+Dify+Open webui部署及踩坑问题
  • ctfhow——web入门171~175
  • 量子计算与项目管理:2025年颠覆性技术将如何重构任务分解逻辑?
  • 优雅的开始一个Python项目
  • C++ :顺序容器