多个三级路由在用keep-alive包裹时,第二个打开的三级路由setup会触发多次,keepalive在三级路由中也存在问题
Vue version
3.2.45
Link to minimal reproduction
https://github.com/Miofly/vue-keep-alive-issue
Steps to reproduce
点击页面中第一个三级路由后,再点击第二个,会发现第二个三级路由 setup 中的 console 触发了两次
What is expected?
keepalive 正常 setup 不触发多次
What is actually happening?
yes
System Info
No response
Any additional comments?
No response
看起来像是 vuejs/router 的 router-view
组件的问题。
因为你在二级路由的地方使用了 keep-alive
,所以在切换路由的时候对应的二级路由组件没有被销毁。这些没有被销毁的组件在路径变更时还会被触发更新,所以就导致了该问题的出现。
希望你能在 vuejs/router 提一个 Issue 以帮助我们记录并解决这个问题(最好使用英文),非常感谢!