解决vue3按注册名动态渲染组件在setup中无效的问题

在setup语法糖中,按注册名动态渲染组件无效:

javascript 复制代码
<template>
  <component :is="cpnName" />
</template>
<script setup>
  import QuesTypeContent from './QuesTypeContent.vue';
  const cpnName = 'QuesTypeContent';
</script>

解决办法:

  • 1.抛弃setup用选项式api。
  • 2.如果我们必须要使用到组件名渲染时,做如下更改即可生效:
javascript 复制代码
<template>
  <component :is="cpn[cpnName]" />
</template>
<script setup>
  import QuesTypeContent from './QuesTypeContent.vue';
  const cpnName = 'QuesTypeContent';
  const cpn = { QuesTypeContent };
</script>

本质上这还是直接使用组件对象,但解决了特定情况下必须用到组件注册名的问题。

相关推荐
CHANG_THE_WORLD2 小时前
指针入门一
java·前端·网络
摸鱼仙人~3 小时前
主流前端「语言/技术 → 主流框架 → 组件库生态 → 适用场景」解析
前端
程序员Sunday3 小时前
2026 春晚魔术大揭秘:作为程序员,分分钟复刻一个(附源码)
前端
Ehtan_Zheng4 小时前
Android 17 变更说明
前端
西门吹-禅4 小时前
【iFlow 处理agents】
前端·chrome
css趣多多4 小时前
Vue 响应式无限递归问题总结
前端·javascript·vue.js
一切顺势而行5 小时前
python 文件目录操作
java·前端·python
014-code5 小时前
Vue3 性能优化实战
前端·vue.js·性能优化
css趣多多6 小时前
vue2项目改造为vue3遇到的问题以及解决办法
前端·vue.js·elementui
哆啦A梦15886 小时前
Vue3魔法手册 作者 张天禹 09_props的使用
前端·vue.js·typescript