vue自带组件keep-alive多层嵌套问题

vue自带组件keep-alive多层嵌套问题

当我从A页面跳到B页面时需要返回A页面不刷新,可以设置A路由的meta={keepAlive:true},B路由的meta={keepAlive:false}实现。
但是当我需要从A跳到B然后再跳到C,之后C返回B没有问题,但是B返回A的时候A页面刷新了,这个应该怎么解决?


回答:

可以借助<keep-alive>includeexclude属性结合路由监听来实现

<keep-alive :include="includeList" :exclude="excludeList">

<router-view></router-view>

</keep-alive>

监听$route对象,当$route.meta.keepAlivetrue时,将对应的$route.name加入至includeList内,注意路由页面的name应与路由的name相同,<keep-alive>本质监听的是组件,因此路由页面对应的.vue文件应该有name

以上是 vue自带组件keep-alive多层嵌套问题 的全部内容, 来源链接: utcz.com/p/937340.html

回到顶部