keep-alive不生效啊老师
来源:7-14 虚拟任务栈代码实现

fya0122
2019-09-01
// 下面是我template的代码呢老师
<keep-alive :include="virtualTaskStack">
<router-view />
</keep-alive>
// 这是data中的,我的Main.js 的name也是imooc
// 然后吧,从goodsList按左上角返回的时候
// 竟然还请求那4个接口呢老师
virtualTaskStack: ['imooc']
watch: {
'$route' (to, form) {
const routerType = to.params.routerType
if (routerType === 'push') {
this.virtualTaskStack.push(to.name)
this.transitionName = 'fold-left'
} else {
this.virtualTaskStack.pop()
this.transitionName = 'fold-right'
}
}
}
写回答
1回答
-
Sunday
2020-02-12
你好:
对于 keepAlive 的组件缓存来说,我们首先必须要明确对于我们项目中的 keepAlive 组件来说,只有保存在 virtualTaskStack 中的组件才会被缓存。换句话就是 不在virtualTaskStack 中的组件就不会被缓存。
所以我们可以通过 打印 virtualTaskStack 中的数据来查看组件是否被保存到了该数组中,如果没有被保存那么就需要查看组件页面在进行跳转的时候,有没有执行这段语句 this.virtualTaskStack.push(to.name) 。以及组件中 name 属性是否被指定。
00
相似问题