vue3项目中,组件设置了定时请求,切换组件后,上一个组件还在执行定时请求,于是使用beforeDestroy来销毁定时,结果发现无效,排查后发现:
在 Vue 3 中,beforeDestroy
已被废弃,取而代之的是 beforeUnmount
。这是因为 beforeDestroy
在 Vue 2 中存在一些问题,例如它会在组件卸载后仍然被调用,这可能会导致一些意外的行为。beforeUnmount
则是在组件卸载前被调用,因此可以避免这些问题。
将修改
beforeDestroy() {
clearInterval(this.interval);
}
修改为
beforeUnmount() {
clearInterval(this.interval);
},