其他分享
首页 > 其他分享> > vue3.0 使用 keep-alive 标签无效, 及其在 vue admin Layout 无效

vue3.0 使用 keep-alive 标签无效, 及其在 vue admin Layout 无效

作者:互联网

先说一下问题所在,虽然vue3.0 不需要 root div, 但是 keep-alive transition 这两个标签都需要

错误示范

root div 不能加在 component 外层

<transition v-if="settings.mainNeedAnimation" name="fade-transform" mode="out-in">
        <keep-alive :include="cachedViews">
        <div>
          <component :is="Component" :key="key" />
        </div>
        </keep-alive>
      </transition>

正确使用

路由组件使用

<router-view v-slot="{ Component }">
      <transition name="fade-transform" mode="out-in">
        <keep-alive :include="cachedViews">
          <component :is="Component" />
        </keep-alive>
      </transition>
    </router-view>

路由页面代码(记住你的单个页面一定要使用一个 root div),例如下面是一个.vue 文件

<template>
<div>
<div></div>
<div></div>
<div></div>
xxxxxxxxxxxxxxx
</div>
</template>

如果你是多级路由, 每一个 router-view 内部都是需要 keep-alive 包裹, keep-alive 内部不能有任何判断条件, 要简约到只有上面例子的代码

这里是我遇到的问题
其他注意点介绍

标签:vue,Layout,无效,alive,keep,div,root,路由
来源: https://www.cnblogs.com/shiazhen/p/16578873.html