结构目录如下
app.vue有两个子路由分别为
task.vue和query.vue
这两个子路由下还有两个子路由分别为
task1,task2,quey1,query2
除了query2路由元属性没有设置keepalive为true
如图所示
其他路由都设置了keepalive
task和query的index.vue如图所示
问题是:我来回切换路由,当从/task/task1切换到/query/query1因为keepalive缓存,所以二者生命周期都不会重新加载,当从/query/query1切换到/query/query2时,query2因为没有被缓存,所以开始加载,但是此时之前的task/task1页面的生命周期却重新运行了,想问下这是为什么原因???我明明对task1已经设置了缓存。
可以用meta来控制是否缓存 https://juejin.cn/post/6844903918313406472 或者新加得include 和exclude
对 我也遇到这个困难了 同一级的路由切换都好用 必入task/task1切换到query/query1/然后回到task1看 task1没有缓存了 楼主解决了吗
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!