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>
相关推荐
WHOVENLY17 小时前
【javaScript】- 笔试题合集(长期更新,建议收藏,目前已更新至31题)
开发语言·前端·javascript
指尖跳动的光18 小时前
将多次提交合并成一次提交
前端·javascript
程序员码歌18 小时前
短思考第263天,每天复盘10分钟,胜过盲目努力一整年
android·前端·后端
oden18 小时前
1 小时速通!手把手教你从零搭建 Astro 博客并上线
前端
若梦plus18 小时前
JS之类型化数组
前端·javascript
若梦plus18 小时前
Canvas 深入解析:从基础到实战
前端·javascript
若梦plus18 小时前
Canvas渲染原理与浏览器图形管线
前端·javascript
C_心欲无痕18 小时前
vue3 - 依赖注入(provide/inject)组件跨层级通信的优雅方案
前端·javascript·vue.js
幺零九零零18 小时前
全栈程序员-前端第二节- vite是什么?
前端