当我们不想每次跳转路由都会重新加载页面时(重新加载页面很耗时),就可以考虑使用keep-alive缓存页面了。可以使用include和exclude去指定自己想要缓存的页面或不想缓存的页面。

比如这里我想缓存“main”页面:

方式一:

        <keep-alive :include="cacheRoute">
          <router-view></router-view>
        </keep-alive>

注意,一定要让被缓存的组件加上“name”属性,否则缓存会失效!

方式二:

在路由上自定义一个属性,用来判断当前路由是否缓存

          <keep-alive>
            <!-- 被缓存 -->
            <router-view v-if="$route.meta.keepAlive" />
          </keep-alive>

          <!-- 不被缓存 -->
          <router-view v-if="!$route.meta.keepAlive" />

 

Logo

前往低代码交流专区

更多推荐