当前位置: 首页 > 知识库问答 >
问题:

vue3配置router.js实现指定页面的keepalive,以下两种写法 第一种不行 为什么?

薛霄
2024-08-02

为什么上面的无效 下面的有效

第一种
        <router-view v-slot="{ Component }">
          <template v-if="$route.meta.keepalive">
            <keep-alive>
              <component :is="Component"/>
            </keep-alive>
          </template>
          <template v-else>
            <component :is="Component"/>
          </template>
        </router-view>


第一种

        <router-view v-slot="{ Component }">
          <keep-alive>
            <component :is="Component" v-if="$route.meta.keepalive" />
          </keep-alive>
          <component :is="Component" v-if="!$route.meta.keepalive" />
        </router-view>

共有1个答案

百里芷阳
2024-08-02

原理:
就是一个组件,缓存也是把里的内容存在组件的data里,如果在上v-if判断,缓存直接就被销毁,组件data里的参数自然都被回收了。如果要动态缓存内容可以用include来引入缓存的内容

v-show可以解决被销毁的问题,但不推荐

 类似资料:
  • 本文向大家介绍请解释下为什么下面第一种方式会报错而第二种不会?相关面试题,主要包含被问及请解释下为什么下面第一种方式会报错而第二种不会?时的应答技巧和注意事项,需要的朋友参考一下 object的键会被自动转为字符串。 但是 属性名只能是字符串,不能是数字, 因为会被当成小数点。 第一种可以使用 第二种会被转成字符串所以不会报错。

  • 本文向大家介绍Android Intent实现页面跳转的两种方法,包括了Android Intent实现页面跳转的两种方法的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Intent实现页面跳转的两种的方法,供大家参考,具体内容如下 下图中两个不同的方法就是两种页面之间跳转的情况 1).跳转不返回数据 2).跳转返回数据 实例: 第一种启动方式(跳转不返回数据) 第二种启动方式(跳转

  • 本文向大家介绍Nginx实现404页面的几种方法(三种),包括了Nginx实现404页面的几种方法(三种)的使用技巧和注意事项,需要的朋友参考一下 一个网站项目,肯定是避免不了404页面的,通常使用Nginx作为Web服务器时,有以下集中配置方式,一起来看看。 第一种:Nginx自己的错误页面 Nginx访问一个静态的html 页面,当这个页面没有的时候,Nginx抛出404,那么如何返回给客户端

  • 这两种有什么不一样?哪种好?

  • 本文向大家介绍thinkphp的钩子的两种配置和两种调用方法,包括了thinkphp的钩子的两种配置和两种调用方法的使用技巧和注意事项,需要的朋友参考一下 thinkphp的钩子行为类是一个比较难以理解的问题,网上有很多写thinkphp钩子类的文章,我也是根据网上的文章来设置thinkphp的钩子行为的,但根据这些网上的文章,我在设置的过程中,尝试了十几次都没有成功,不过,我还是没有放弃,最后还

  • 为何第一种无法输出内容呢,但是第二种可以。这个闭包操作学的很蒙 希望可以被解决,在下为新手,谢谢