Subscribe on changes!

使用keepAlive缓存路由,首次跳别的路由时候,被缓存的路由会执行unmounted方法

avatar
Apr 22nd 2021

Version

3.0.11

Reproduction link

https://github.com/MsBaiYi/oneBug

Steps to reproduce

  1. 启动脚手架,打开F12 console
  2. 点击缓存Home页面,使include为 ['Home']
  3. 点击 count 按钮, 使count不为 0
  4. 切换路由为about,在console中观察到打印 'home 销毁',说明触发了 unmounted
  5. 切换回home,未打印'home 创建'且count不为0,说明home是被缓存的,与第4步触发unmounted现象发生矛盾

What is expected?

期望被缓存的路由不执行销毁生命周期函数 (unmounted)

What is actually happening?

被缓存的路由组件首次跳别的路由会执行销毁生命周期函数


遇到这个bug的场景是添加面包屑功能,在面包屑存在的路由需要被缓存,关闭面包屑的路由组件应被释放

avatar
Oct 13th 2021

请问这个问题在Vue的正式版本中修复了么?我在查阅更新日志的过程中没有搜索到相关的信息

avatar
Oct 13th 2021

@haoziqaq 还没有,PR 还是 open 的呢。

avatar
Oct 13th 2021

谢谢~

avatar
Mar 22nd 2022

现在还没有解决嘛?怎么久了