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

vue3 watch学习

watch的侦听数据源类型

watch的第一个参数为侦听数据源,有4种"数据源":

ref(包括计算属性)

reactive(响应式对象)

getter函数

多个数据源组成的数组。

//ref
const x=ref(0)//单个ref
watch(x,(newX)=>{console.log(`x is ${newX}`)
})
//getter函数
const x = ref(0)
watch(
()=> x.value,
(newX)=>{console.log(`x is ${newX}`)}
)//getter函数const obj = reactive({count:0})
watch(
()=> obj.count,
(count)=>{console.log(`count is ${count}`)}
)
//reactive  隐式创建一个深层侦听器const obj = reactive({count:0});
watch(obj,
(newV,olbV)=>{// 在嵌套的属性变更时触发// 注意:`newV` 此处和 `oldV` 是相等的// 因为它们是同一个对象!},
)//或者
watch(
()=>obj.count,
()=>{// 仅当 obj.count被替换时触发}
)
// 多个来源组成的数组
const x=ref(0)
const y=ref(0)watch([x, () => y.value], ([newX, newY]) => {console.log(`x is ${newX} and y is ${newY}`)
})

watch属性:

{ deep: true }  //强制转成深层侦听器,

深度侦听需要遍历被侦听对象中的所有嵌套的属性,当用于大型数据结构时,开销很大。因此请只在必要时才使用它,并且要留意性能。

{ immediate: true } //强制侦听器回调立即执行

{ once: true } // 3.4+,回调只在源变化时触发一次

http://www.lryc.cn/news/359305.html

相关文章:

  • 推荐的Pytest插件
  • C语言 | Leetcode C语言题解之第124题二叉树中的最大路径和
  • Linux综合实践(Ubuntu)
  • C++面试题其二
  • 系统架构设计师【第9章】: 软件可靠性基础知识 (核心总结)
  • x264 参考帧管理原理:i_poc_type 变量
  • 高级Web Lab2
  • Linux网络-使用Tcp协议进行网络通信并通过网络接口实现远端翻译
  • 实时数据传输:Django 与 MQTT 的完美结合
  • 创建Django项目及应用
  • Flutter课程分享 -(系统课程 基础 -> 进阶 -> 实战 仿京东商城)
  • IDEA 中导入脚手架后该如何处理?
  • thinkphp6 queue队列的maxTries自定义
  • 【PHP项目实战训练】——laravel框架的实战项目中可以做模板的增删查改功能(2)
  • Kotlin 对象
  • 力扣 142题 环形链表Ⅱ 记录
  • 乐观锁 or 悲观锁 你怎么选?
  • 《庆余年算法番外篇》:范闲通过最短路径算法在阻止黑骑截杀林相
  • 大一C语言课设 服装销售系统 代码实现与项目总结
  • 从新手到专家:深入探索JVM垃圾回收--开端篇
  • R可视化:另类的柱状图
  • Docker的数据管理(数据卷+数据卷容器)
  • 字符串-至多包含K种字符的子串中最长子串(mid)
  • Docker从安装开始精通
  • MFC:初步理解序列化与反序列化(含代码实现)
  • python程序控制结构
  • 【GD32】04 - Timer定时器
  • Golang | Leetcode Golang题解之第123题买卖股票的最佳时机III
  • Leetcode2028. 找出缺失的观测数据
  • 如何在CentOS中合理划分磁盘空间以优化系统性能