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>
相关推荐
拾荒李8 分钟前
性能优化-手搓定高虚拟列表实现
javascript·性能优化
自由生长202412 分钟前
为什么我们需要流式系统?
前端
北辰alk17 分钟前
从零设计一个Vue路由系统:揭秘SPA导航的核心原理
前端·vue.js
计算机毕设VX:Fegn089527 分钟前
计算机毕业设计|基于springboot + vue个人博客系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
Jim-2ha035 分钟前
【JavaScript】常见排序算法实现
javascript·算法·排序算法
鱼鱼块36 分钟前
彻底搞懂 React useRef:从自动聚焦到非受控表单的完整指南
前端·react.js·面试
2501_9466756437 分钟前
Flutter与OpenHarmony打卡轮播图组件
java·javascript·flutter
nwsuaf_huasir1 小时前
积分旁瓣电平-matlab函数
前端·javascript·matlab
幽络源小助理1 小时前
SpringBoot+Vue美食网站系统源码 | Java餐饮项目免费下载 – 幽络源
java·vue.js·spring boot
韭菜炒大葱1 小时前
React Hooks :useRef、useState 与受控/非受控组件全解析
前端·react.js·前端框架