解决vue 使用keepalive 一直缓存的页面的问题。
问题描述:Form01 -> Form02(该页面的信息需要被缓存) -> Form03Form03-> 返回Form02(信息已经被缓存)-> Form01Form01-> Form02(信息被缓存,但是不想要这个缓存的) -> Form03解决【不需要被...
·
问题描述:
Form01 -> Form02(该页面的信息需要被缓存) -> Form03
Form03 -> 返回Form02(信息已经被缓存)-> Form01
Form01 -> Form02(信息被缓存,但是不想要这个缓存的) -> Form03
解决【不需要被缓存的】:
在需要缓存的页面添加 beforeRouteLeave :(和mounted是同级奥)。
beforeRouteLeave(to, from, next) {
if (to.name === 'Form03') {
if (!from.meta.keepAlive) {
from.meta.keepAlive = true; //当我们进入到C时开启B的缓存
}
next()
} else {
from.meta.keepAlive = false;
this.$destroy(); //销毁B的实例
next(); //当我们前进的不是C时我们让B页面刷新
}
}
-------------------上面的问题到此就可以解决了。
【后续】会更新关于VueRouter的一些还没有遇到的问题或者即将遇到的问题。VueRouter官网
更多推荐
已为社区贡献18条内容
所有评论(0)