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>

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

相关推荐
问道飞鱼6 分钟前
【前端知识】React生态你了解多少?
前端·react.js·前端框架·生态
Pu_Nine_97 分钟前
前端SSE(Server-Sent Events)实现详解:从原理到前端AI对话应用
前端·langchain·sse·ai对话
optimistic_chen16 分钟前
【Vue3入门】Pinia 状态管理 和 ElementPlus组件库
前端·javascript·vue.js·elementui·pinia·组件
kgduu17 分钟前
js之网络请求与远程资源
开发语言·javascript·网络
酉鬼女又兒19 分钟前
零基础入门前端JavaScript 核心语法:var/let/const、箭头函数与 setTimeout 循环陷阱全解析(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·蓝桥杯
Bling_Bling_123 分钟前
【无标题】
前端·网络协议
We་ct24 分钟前
React Diff & Key 核心解析
开发语言·前端·javascript·react.js·前端框架·reactjs·diff
哥本哈士奇25 分钟前
Vue 3 快速入门:从零搭建前后端 CRUD 应用
前端·javascript·vue.js
biubiubiu070625 分钟前
Agent 是如何拥有“手脚”的(ReAct 运行流程)
开发语言·前端·javascript
摸鱼的春哥29 分钟前
Agent教程21:知识图谱🕸,让AI🤖学会联想
前端·javascript·后端