美文网首页
vue中keep-alive缓存组件不生效的坑

vue中keep-alive缓存组件不生效的坑

作者: 豁啦子 | 来源:发表于2020-05-11 19:10 被阅读0次

    坑出现背景

    • 在维护公司代码时发现里面写watch route不生效,无法监听子路由的table切换。组件不会缓存,但是全局组件已经做过缓存处理。此处每次进入此table页都会触发created周期。花费大半个小时之后终于找到了问题点

    坑的原因

    • keep-alive缓存时include中的名字必须与组件上的名字完全一致,组件没有写名字或者名字不一致就会导致缓存失效,每次进入组件都触发created生命周期

    代码如下

    • 全局组件中
        <keep-alive include="history">
           <router-view></router-view>
        </keep-alive>
    
    • 组件中
    export default {
      name: "history",/*此处的name必须有且与include中的一致*/
      components: {
        VTable
      },
    

    如是,问题解决

    相关文章

      网友评论

          本文标题:vue中keep-alive缓存组件不生效的坑

          本文链接:https://www.haomeiwen.com/subject/fsdpnhtx.html