问题:在Vue中子组件执行destroyed钩子函数但是实例却没有销毁

分享已经知道的内容:

1、vue项目假设只有一级路由(vue-router),那么在一级路由中切换子组件(具体vue文件),会执行vue文件中的destroyed,这时候我认为这个子组件销毁了

2、vue文件中this表示的就是这个子组件的对象,在每次一级路由中切换这个子组件,那么会不断的创建新的this对象,销毁这个this对象

实验情景: 一个简单的登录和主页的vue单页面系统,登录页面和主页在一级路由中切换,我在主页的created钩子函数中写下如下代码:

定时器每隔一段时间就轮询获取this对象,当我来回切换登录和主页的时候,会发现,这个定时器打印出多个this对象,呵呵,奇怪吧? 明明切换的时候销毁了,但是销毁的这个this对象为什么会存在? 这样有什么问题? 也就是说在定时器中输出data属性, 这个属性初始化的时候是动态生成的随机数,会发现,同一个this的属性由多个内容。。。。

解决办法也有,在切换回登录的时候调用location.load去刷新,清空。。。。 但是我真不知道原理是什么,导致出现莫名其妙的异常。。。让我毁了三观,日了狗

Logo

前往低代码交流专区

更多推荐