包含子组件向父组件发消息的应用出现内存泄漏问题

描述如图

子页面和页面B是通过import一个公共js,然后用$emit 和 $on来传递消息的。出现的状况是某一个Bx页面他的子组件emit一个消息,按道理只有Bx能接受到消息并且响应,但是所有之前加载过的B1 B2这些页面都能够接受到消息。它好像不受钩子函数destory的影响

后来把funcx里面发送消息调用父组件的函数printCreateTime{打印创建时间}改为打印父组件这个vueComponent,结果发现他们的uid都是不一样的,说明都没有被销毁。

包含子组件向父组件发消息的应用出现内存泄漏问题

我想知道怎样能从B页面跳出去时对B页面以及其组件进行销毁?

最佳答案

已解决:1、在beforedestory里面off掉 eventbus引入的副作用 或 2、用vuex传值
因为闭包所以没有被 GC,所以还能 log 出来

codesandbox.io/s/ecstatic-galois-2...

3年前 评论
讨论数量: 3
cnguu

replace换成push

3年前 评论
cnguu (作者) 3年前
whiplasher (楼主) 3年前
whiplasher (楼主) 3年前

已解决:1、在beforedestory里面off掉 eventbus引入的副作用 或 2、用vuex传值
因为闭包所以没有被 GC,所以还能 log 出来

codesandbox.io/s/ecstatic-galois-2...

3年前 评论

页面跳转以后调用 $off 关闭掉当前页面的事件监听

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!