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>
相关推荐
米高梅狮子4 分钟前
项目实战: LAMP-电商平台-iwebshop
前端·网络·chrome
qq_351754786 分钟前
关于vue3切换空白页问题解决
开发语言·前端
风景的人生9 分钟前
小程序接收respose中的数组
前端·微信小程序·小程序
晚霞的不甘10 分钟前
Flutter for OpenHarmony 电商 App 搜索功能深度解析:从点击到反馈的完整实现
开发语言·前端·javascript·flutter·前端框架
Dragon Wu11 分钟前
React Native MMKV完整封装
前端·javascript·react native·react.js
前端(从入门到入土)12 分钟前
解决Webpack打包白屏报错问题l.a.browse is not a function
前端·javascript
Jul1en_12 分钟前
【Web自动化测试】Selenium常用函数+IDEA断言配置
前端·selenium·intellij-idea
Marshmallowc13 分钟前
从源码深度解析 React:Hook 如何在 Fiber 中存储?DOM Ref 如何绑定?
前端·react.js·前端框架·fiber
Eiceblue13 分钟前
Vue文档编辑器(Word默认功能)示例
前端·vue.js·word