• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

vue3动态加载组件

武飞扬头像
前端菜鸟。
帮助1

1、原理:利用component实现组件动态渲染,要渲染的实际组件由 is prop 决定。

  • 当 is 是字符串,它既可以是 HTML 标签名也可以是组件的注册名。
  • 或者,is 也可以直接绑定到组件的定义。
  • 内置组件都可以传递给 is,但是如果想通过名称传递则必须先对其进行注册。
  • 如果将组件本身传递给 is 而不是其名称,则不需要注册。
    vue官方文档-component内置动态组件

2、代码具体实现

思路:在页面上注册组件,利用component及组件名称实现动态渲染。

<component :is="dialogComponents.get(componentName)" :key="componentName"></component>
<script lang="ts" setup>
import { ref, defineAsyncComponent } from 'vue'
const componentName = ref('') //保存需要加载的的组件名称
const dialogComponents = ref(new Map<string, any>())
dialogComponents.value.set(
	'OfficialWebsite',
	defineAsyncComponent(() => import('./components/OfficialWebsite.vue'))
)
dialogComponents.value.set(
	'InterfacePlatform',
	defineAsyncComponent(() => import('./components/InterfacePlatform/index.vue'))
)
</script>

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgaejbi
系列文章
更多 icon
同类精品
更多 icon
继续加载