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

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

相关推荐
米方4 分钟前
ElementPlus 穿梭框支持批量穿梭
前端·javascript·vue.js
InkHeart5 分钟前
uni-app开发路上的坑
前端·vue.js
用户4099322502125 分钟前
Vue3中v-bind:class与v-bind:style如何实现条件样式、组件样式合并与深层响应式管理?
前端·ai编程·trae
还算善良_12 分钟前
【Vue】表格实现表头多彩
javascript·vue.js·ecmascript
我是天龙_绍13 分钟前
如何在前端开发中高效运用AI:从提效到避坑
前端
KenXu15 分钟前
从Vue 到 React:Valtio 让状态管理更熟悉
前端
努力学习的少女25 分钟前
对SparkRDD的认识
开发语言·前端·javascript
LYFlied29 分钟前
Webpack 深度解析:从原理到工程实践
前端·面试·webpack·vite·编译原理·打包·工程化
苏打水com1 小时前
第十二篇:Day34-36 前端工程化进阶——从“单人开发”到“团队协作”(对标职场“大型项目协作”需求)
前端·javascript·css·vue.js·html
知了清语1 小时前
为天地图 JavaScript API v4.0 提供 TypeScript 类型支持 —— tianditu-v4-types 正式发布!
前端