watchEffect
立即执行传入的一个函数,同时响应式追踪其依赖,并在其依赖变更时重新运行该函数。
如果用到 message 就只会监听 message 就是用到几个监听几个 而且是非惰性 会默认调用一次
1 2 3 4 5 6
   | let message = ref < string > ""; let message2 = ref < string > ""; watchEffect(() => {      console.log("message2", message2.value); });
   | 
 
清除副作用
就是在触发监听之前会调用一个函数可以处理你的逻辑例如防抖
1 2 3 4 5 6 7 8
   | import { watchEffect, ref } from "vue"; let message = ref < string > ""; let message2 = ref < string > ""; watchEffect((oninvalidate) => {      oninvalidate(() => {});   console.log("message2", message2.value); });
  | 
 
停止跟踪 watchEffect 返回一个函数 调用之后将停止更新
1 2 3 4 5 6 7 8 9 10 11 12
   | const stop = watchEffect(   (oninvalidate) => {          oninvalidate(() => {});     console.log("message2", message2.value);   },   {     flush: "post",     onTrigger() {},   } ); stop();
   | 
 
更多的配置项
副作用刷新时机 flush 一般使用 post
 | 
pre | 
sync | 
post | 
| 更新时机 | 
组件更新前执行 | 
强制效果始终同步触发 | 
组件更新后执行 | 
onTrigger 可以帮助我们调试 watchEffect
1 2 3 4 5 6 7 8 9 10 11 12 13 14
   | import { watchEffect, ref } from "vue"; let message = ref < string > ""; let message2 = ref < string > ""; watchEffect(   (oninvalidate) => {          oninvalidate(() => {});     console.log("message2", message2.value);   },   {     flush: "post",     onTrigger() {},   } );
  |