vue3 watch 监听注意事项
今天写项目 发现watch 监听不起作用 监听得对象里面得属性 用的reactive
才想起来 用对象得时候需要()=>state.data这样写 而不是 直接state.data
正确写法:
let state=reactive({data:""})
watch(
() => [state.data],
(val, old) => {
if (val && val != old) {
Value();
}
},
{ immediate: true }
);
错误写法: 这种只能针对 ref(state) 才可以这么写
watch(
state,
(newVal, oldVal) => {
if (newVal && newVal != oldVal) Value();
},
{ immediate: true }
);