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

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

相关推荐
广州华水科技9 分钟前
单北斗GNSS变形监测系统在水库安全监测中的应用与发展
前端
We་ct10 分钟前
LeetCode 58. 最后一个单词的长度:两种解法深度剖析
前端·算法·leetcode·typescript
夏河始溢13 分钟前
一八零、AG-UI:构建AI前端交互的统一协议
前端·人工智能·ui
m0_7408596224 分钟前
解决uniapp跳转页面警告:Extraneous non-props attributes ...
前端·javascript·uni-app
一行注释28 分钟前
ECharts柱状图横向展示与DataZoom滑动查看实现
开发语言·前端·javascript
踢球的打工仔41 分钟前
typescript-类的访问权限public、private、protected
前端·javascript·typescript
Ulyanov1 小时前
Impress.js深度解析
开发语言·前端·javascript·css3·impress.js
我叫Double1 小时前
GeneralAdmin-3
前端·javascript·vue.js
Charlie_lll1 小时前
学习Three.js–太阳系星球自转公转
前端·three.js
json{shen:"jing"}1 小时前
10_自定义事件组件交互
开发语言·前端·javascript