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 }
    );
posted @ 2022-06-30 11:57  燕林  阅读(375)  评论(0编辑  收藏  举报