解决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 分钟前
华为云前后端部署实战手册
运维·前端·vue.js·后端·华为云
挨踢攻城2 分钟前
Linux 下合并多个 PDF 文件为一个 PDF 文件的方法
linux·前端·rhce·rhca·linux运维·红帽认证·公众号:厦门微思网络
怕浪猫5 分钟前
React从入门到出门第三章 虚拟 DOM 与并发渲染基础
前端·javascript·react.js
wniuniu_7 分钟前
ceph的osd
java·前端·ceph
他是龙55110 分钟前
55:XSS防御机制与绕过实战(CSP+HttpOnly+Filter)
前端·chrome·xss
名誉寒冰16 分钟前
基于 React + Three.js + 大模型的全息地球 Web 项目(水个web课程设计)
前端·javascript·react.js·ai编程
CodeSheep18 分钟前
Linux再添一员猛将,操作完全不输Windows!
前端·后端·程序员
xingzhemengyou121 分钟前
LINUX modprobe 智能加载和卸载内核模块
linux·服务器·前端
梦凡尘27 分钟前
Marked.js 的使用及相关问题解决
前端·js