解决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>

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

相关推荐
flypwn2 小时前
TFCCTF 2025 WebLess题解
服务器·前端·数据库
b***74882 小时前
前端CSS预处理器对比,Sass与Less
前端·css·sass
lsp程序员0104 小时前
使用 Web Workers 提升前端性能:让 JavaScript 不再阻塞 UI
java·前端·javascript·ui
J***Q2925 小时前
前端路由,React Router
前端·react.js·前端框架
1***81535 小时前
前端路由参数传递,React与Vue实现
前端·vue.js·react.js
q***13615 小时前
十七:Spring Boot依赖 (2)-- spring-boot-starter-web 依赖详解
前端·spring boot·后端
xixixi777776 小时前
了解一下Sentry(一个开源的实时错误监控平台)
前端·安全·开源·安全威胁分析·监控·sentry
Keely402857 小时前
学习编写chrome插件:Hello World 扩展
前端·chrome
hhcccchh7 小时前
学习vue第三天 Vue 前端项目结构的说明
前端·vue.js·学习