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

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

相关推荐
全栈技术负责人2 分钟前
前端团队 AI Core Workflow:从心法到落地
前端·人工智能·状态模式
前端 贾公子22 分钟前
深入浅出 CSS 属性:pointer-events: none
前端·css
曾几何时`23 分钟前
二分查找(十)1146. 快照数组 pair整理
java·服务器·前端
夏河始溢36 分钟前
一八二、webpack、grunt、gulp、rollup、parcel、vite 对比介绍
前端·webpack·gulp
Y_031 小时前
SpringBoot+VUE3的图书管理系统
vue.js·spring boot·毕业设计·数据可视化
别或许1 小时前
python中的异步调用(直接使用教程)
java·前端·python
xkxnq1 小时前
第四阶段:Vue 进阶与生态整合(第 47 天)(Vue 项目目录结构解析:每个文件夹的作用与规范)
前端·javascript·vue.js
炽烈小老头1 小时前
浏览器渲染原理:从 HTML 到像素的全链路拆解
前端
打小就很皮...1 小时前
React 合同审查组件:按合同原文定位
前端·react.js·markdown
EndingCoder2 小时前
设计模式在 TypeScript 中的实现
前端·typescript