vue3 setup 使用catch监听器
简单使用方法之一:
如果你用了 对象,即监听对象里面的某一个 ,那么就用箭头函数的方式即可:
下面这种比较??了,合在一起干:
注意看监听器的代码:
深度监听,想非惰性?
// 下面加了配置 immediate ,所以深度监听了,变非惰性的了。 watch([() => valObj.val, () => valObj.val2], ([newVal, newVal2], [oldVal, oldVal2]) => { console.log("val:"); console.log(newVal, oldVal); console.log("val2:"); console.log(newVal2, oldVal2); }, { immediate: true })
新玩意:
watchEffect 这玩意没惰性,直接执行的。 immediate
用法差不多,但是看你自己:
这玩意自动检测是否使用或是否以来,制动执行,例:
页面一打开就打印 “我是咸瑜” :
因为 ”我是咸瑜“这个字符串没什么依赖对吧,所以他只打印一次,因为 immediate
那如果我这样:
你尝试改变val,他会一直打印val,就是i自己感知,然后里面的全打印,全执行,简单点说就是:
无论你改变的是 val 还是 val2 ,三条log 都会执行。
缺点就是 这玩意不能获取之前的值。。。。
如果你想让他失效(灭了他)
这样写即可:
同理,上面那种也是一样的原理,,,自己玩去。。。。