vue3中使用keepalive和component

vue3和vue2中有些差异,直接上代码:

javascript 复制代码
  <KeepAlive include="aComponent">
          <component 
            :is='compList[active]'
            @goDetail="goDetail"
            @back="back" 
          />
      </KeepAlive>  
<script setup lang="ts">
/**
 * 将事件从报告图表中抛上来,传递具体数据
 */
import { ref ,markRaw} from 'vue'
import aComponent from './Acomponent.vue'
import bcomponent from './Bcomponent.vue'

const dataDownConfig = ref(null);
const active = ref('aComponent');
const compList = ref({
  aComponent: markRaw(aComponent ),
  bComponent: markRaw(bComponent )
})
// 通过切换active的值来切换组件
const goDetail = (data: any) => {
  active.value = 'aComponent '
}
const back = () => {
  active.value = 'bcomponent '
}
</script>      

// Acomponent.vue (给组件加名字)

javascript 复制代码
<script lang="ts" setup>
defineOptions({
  name: 'aComponent '
})
</script>
相关推荐
计算机毕设VX:Fegn08951 小时前
计算机毕业设计|基于springboot + vue在线考试系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
布列瑟农的星空4 小时前
Playwright使用体验
前端·单元测试
卤代烃5 小时前
🦾 可为与不可为:CDP 视角下的 Browser 控制边界
前端·人工智能·浏览器
_XU5 小时前
AI工具如何重塑我的开发日常
前端·人工智能·深度学习
C_心欲无痕5 小时前
vue3 - defineExpose暴露给父组件属性和方法
前端·javascript·vue.js·vue3
鹿人戛5 小时前
HarmonyOS应用开发:相机预览花屏问题解决案例
android·前端·harmonyos
萌萌哒草头将军6 小时前
绿联云 NAS 安装 AudioDock 详细教程
前端·docker·容器
计算机毕设VX:Fegn08956 小时前
计算机毕业设计|基于springboot + vue宠物医院管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
贺今宵6 小时前
安装better-sqlite3报错electron-vite
javascript·sql·sqlite·sqlite3
GIS之路6 小时前
GIS 数据转换:使用 GDAL 将 GeoJSON 转换为 Shp 数据
前端