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 属性是否被指定。

0
0

混合开发入门 Vue结合Android/iOS开发仿京东项目App

流行的混合开发实战入门,前端和原生开发同学不容错过

1108 学习 · 448 问题

查看课程