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>
相关推荐
不会敲代码119 分钟前
解密JavaScript内存机制:从执行上下文到闭包的全景解析
javascript
用户57573033462422 分钟前
🌟 从一行 HTML 到屏幕像素:浏览器是如何“画”出网页的?
前端
NEXT0624 分钟前
React Hooks 进阶:useState与useEffect的深度理解
前端·javascript·react.js
sure28230 分钟前
React Native应用中使用sqlite数据库以及音乐应用中的实际应用
前端·react native
CHU72903531 分钟前
扭蛋机盲盒小程序前端功能设计解析:打造趣味与惊喜并存的消费体验
前端·小程序
前端布道师36 分钟前
Web响应式:列表自适应布局
前端
ZeroTaboo38 分钟前
rmx:给 Windows 换一个能用的删除
前端·后端
哈里谢顿38 分钟前
Vue 3 入门完全指南:从零构建你的第一个响应式应用
vue.js
李剑一1 小时前
Vue实现大屏获取当前所处城市及当地天气(纯免费)
前端
踢足球09291 小时前
寒假打卡:2026-2-7
java·开发语言·javascript