Vue3中的watch()会在组件卸载时自动停止吗



根据Vue3 Doc,watchEffect将在组件卸载时停止。

当在组件的setup((函数或生命周期挂钩期间调用watchEffect时,观察程序将链接到组件的生命周期,并将在组件卸载时自动停止。

就自动停止而言,watch是否具有相同的行为?谢谢

在setup((内同步声明的观察程序绑定到所有者组件实例,并且将自动在卸载所有者组件时停止。在大多数情况下不必担心自己会阻止观察者。

Src:https://vuejs.org/guide/essentials/watchers.html#stopping-a-watcher

因此,如果您同步声明观察程序,答案似乎是,yes,如果异步声明,答案则是no

看起来watch()/watchEffect()返回了unwatch()函数,您必须调用这些函数才能停止异步创建的观察程序。

PS
这主要只是@User28的后续内容。你评论中的链接已经过时,但我无法编辑它。

最新更新