18910140161

求助,为什么 watch 中个参数要使用函数返回值,而不是直接填写一个值

2021-12-11 12:17:50

152

其实watch个参数可以传递一个对象的,只是这种对象必须是ref的形式。


顺晟科技:

学到了,感谢

这是官网的一个例子,个参数是一个函数。函数的特点就是,每次调用的时候都可以得到 state.count 的最新的值。

而这里 state.count 是有响应性的,但是 foo = state.count 的话,foo就没有响应性了。

部分代码:

watch盯着一个响应性的东东,可以得到变化的通知,但是盯着一个 number 类型的东东,怎么得到变化的通知?

其实我也没完全弄明白。

看了一下内部实现,发现watch的个参数也可以直接用 reactive,而且自动变成深度监听,vue 3.2.20。但是官网没说,不知道之前的版本是不是这样的。

其实内部还是把 ref、reactive变成了函数的形式。

其实个参数需要传入一个具有响应性的东东,所以可以传入函数,也可以传入 ref,因为 ref 也具有响应性。

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航