美文网首页
vue中如何缓存一些页面

vue中如何缓存一些页面

作者: 江海大初学者 | 来源:发表于2019-11-15 10:26 被阅读0次

    在vue中,有时我们想让一些组件keep-alive,还有一些不用keep-alive,这个时候怎么办呢,我们就需要用判断来加载keep-alive。
    例如:

    // router.js
            {
              path: "/driving_licence",
              component: () => DrivingLicence,
              meta: {
                isShowFooter: true,
                title: "驾照查分"
              }
            },
            {
              name: "ticket",
              path: "/ticket",
              component: () => Ticket,
              meta: {
                isShowFooter: true,
                title: "全国罚单查询",
                isKeep: true  // 用来记录当前页面是否要使用keep-alive
              }
            }
    
    // app.vue
    <template>
      <div id="app">
        <!-- 页面中使用两个router-view,其中一个使用keep-alive包裹,在给每个加上v-if属性即可 -->
        <keep-alive>
          <router-view v-if="$route.meta.isKeep"></router-view>
        </keep-alive>
        <router-view v-if="!$route.meta.isKeep"></router-view>
      </div>
    </template>
    

    当引入keep-alive的时候,页面第一次进入,钩子的触发顺序created-> mounted-> activated,退出时触发deactivated。当再次进入(前进或者后退)时,只触发activated。我们就可以在不同的钩子函数内执行相关操作。

    相关文章

      网友评论

          本文标题:vue中如何缓存一些页面

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