vue3终止watch监听的办法是:
将watch赋值给一个变量,当达到条件调用watch赋值的那个变量就可以终止监听了。如:

let stopWatch = watch(() => state.room, (newval, oldval) => {
    console.log("新值:", newval, "老值:", oldval);
}, 
{deep:true}//复杂嵌套的数据没有这个指令是无法检测到的。
);

setTimeout(()=>{
    // 停止监听
    stopWatch()
}, 5000)

重新启动监听的办法就是通过把监听器重新赋值给变量

    stopWatch = watch(
    () => search,
    (newval, oldval) => {
      console.log("新值:", newval, "老值:", oldval);
    },
    { immediate: true, deep: true } //复杂嵌套的数据没有这个指令是无法检测到的。
  );
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐