使用keepAlive缓存路由,首次跳别的路由时候,被缓存的路由会执行unmounted方法
Version
3.0.11
Reproduction link
https://github.com/MsBaiYi/oneBug
Steps to reproduce
- 启动脚手架,打开F12 console
- 点击缓存Home页面,使include为 ['Home']
- 点击 count 按钮, 使count不为 0
- 切换路由为about,在console中观察到打印 'home 销毁',说明触发了 unmounted
- 切换回home,未打印'home 创建'且count不为0,说明home是被缓存的,与第4步触发unmounted现象发生矛盾
What is expected?
期望被缓存的路由不执行销毁生命周期函数 (unmounted)
What is actually happening?
被缓存的路由组件首次跳别的路由会执行销毁生命周期函数
遇到这个bug的场景是添加面包屑功能,在面包屑存在的路由需要被缓存,关闭面包屑的路由组件应被释放