vue中的keep-alive问题(2)

1:keep-alive生效的前提,组件都要声明一个name属性,并确保唯一性
2:A/C跳转B页面,返回A/C,缓存C二级路由,则需要同时缓存一级路由A,否则缓存不生效,设置缓存需要写在beforeRouteEnter里面

  beforeRouteEnter(to, from, next) {
    next(vm => {
      //详情->私募待办(销毁)->我的理财之后,再走我的理财->私募待办(缓存)->详情的时候,写在routeLeave的时候缓存失效
      vm.$store.commit('setInclude', ['user', 'privateContractPending'])
    })
  },
  beforeRouteLeave(to, from, next) {
    if (to.name !== 'detail') {
      this.$store.commit('setInclude', [])
      this.$destroy()
    }
    next()
  },

写在routeLeave中出现的问题:
A/B->A/C->D,然后D->A/C缓存这时是生效的,但是再接着继续返回到A/B,再走A/C->D,再走D->A/C发现没有缓存

beforeRouteLeave(to, from, next) {
  if(to.name === 'detail'){
    this.$store.commit('setInclude', ['user', 'privateContractPending'])
  }else{
     this.$store.commit('setInclude', [])
     this.$destroy()
  }
}

【信息由网络或者个人提供,如有涉及版权请联系COOY资源网邮箱处理】

© 版权声明
THE END
喜欢就支持一下吧
点赞13赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容