vue3 watch 报错 Invalid watch source
在 vue3 中使用 watch 监听弹框的 visible,控制台报错警告
runtime-core.esm-bundler.js:40 [Vue warn]: Invalid watch source: true A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.
代码写法:
watch(props.visible, (newVal) => { if (newVal) { xxxx.... } })
一开始以为是不能直接用这种简单数据类型,改成了对象,后面看了官方文档,发现是写错了
监听值要用函数返回 () => props.visible
正确写法:
watch(() => props.visible, (newVal) => { if (newVal) { xxxx.... } })
如果你监听的是一个对象, 如:
watch(props.formData, (newVal) => {
if (newVal) {
xxxx....
}
})
控制台不会报错,但是不会进入你的 (newVal) => {}函数中,可能半天都找不到问题
之前 vue2 总是直接写值,所以一定一定要检查自己的语法写得对不对
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架