vue3项目中组件切换不起作用

以下这种方式写页面中组件切换,不起作用。

javascript 复制代码
<component :is="steps[compIndex].comp" />

解决:使用shallowReactive或者shallowRef把对应的组件名称重新定义下。

javascript 复制代码
<component :is="compNames[steps[compIndex].comp]" />
<el-button v-for="(item,index) in boxes" @click="compIndex = index">点击切换组件</el-button>

<script setup lang="ts">
import comp1 from './components/comp1.vue'
import comp2 from './components/comp2.vue'
const boxes = [{title:'标题1',comp:'comp1'},{title:'标题2',comp:'comp2'}]

const compIndex = ref(0)
type compName = {
    [key:string]:any
}
const compNames = shallowReactive<compName>({comp1,comp2})
</script>

不清楚还有没有其它解决办法,暂时就这样吧!

相关推荐
行者..................13 分钟前
手动编译 OpenCV 4.1.0 源码,生成 ARM64 动态库 (.so),然后在 Petalinux 中打包使用。
前端·webpack·node.js
小爱同学_1 小时前
一次面试让我重新认识了 Cursor
前端·面试·程序员
golang学习记1 小时前
AI 乱写代码?不是模型不行,而是你的 VS Code 缺了 Context!MCP 才是破局关键
前端
星光不问赶路人1 小时前
Vite 中的 import.meta.glob vs 动态导入:该用哪个?
前端·vite
疯狂踩坑人1 小时前
【万字长文】让面试没有难撕的JS基础题
javascript·面试
z_y_j2299704382 小时前
服务器中使用Docker部署前端项目
服务器·前端·docker·容器
极客小俊2 小时前
【浅谈javascript禁术】 eval函数暗藏玄机?
javascript
迪丽热爱2 小时前
解决【npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。】问题
前端·npm·node.js
数字冰雹2 小时前
图观 流渲染场景服务器
服务器·前端·数据库·数据可视化
533_2 小时前
[element-plus] el-select 下拉选择图片
vue.js