vue3动态加载组件

这篇具有很好参考价值的文章主要介绍了vue3动态加载组件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

2、代码具体实现

思路:在页面上注册组件,利用component及组件名称实现动态渲染。文章来源地址https://www.toymoban.com/news/detail-635819.html

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

到了这里,关于vue3动态加载组件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue3 动态组件和异步组件

    当使用 component :is=\\\"...\\\" 来在多个组件间作切换时,被切换掉的组件会被卸载。我们可以通过 KeepAlive组件强制被切换掉的组件仍然保持“存活”的状态。

    2024年02月08日
    浏览(43)
  • (vue3)动态组件

    什么是动态组件 就是:让多个组件使用同一个挂载点,并动态切换,这就是动态组件。 在挂载点使用component标签,然后使用v-bind:is=”组件 ,通过is 切换 A B 组件 使用场景 tab切换 居多 注意事项  1.在Vue2 的时候is 是通过组件名称切换的 在Vue3 setup 是通过组件实例切换的 2.如

    2024年02月13日
    浏览(36)
  • vue3动态组件

     1 、 可以通过  shallowRef 把  可以把组件进行包裹 为什么用shallowRef      如果传入基本数据类型,那么 shallowRef 与 ref 的作用基本没有什么区别,也就是浅层的 ref 的内部值将会原样的存储和暴露,并不会被深层递归地转为响应式 当我们使用ref   会有提醒建议使用  shallowRef  

    2024年02月12日
    浏览(36)
  • Vue3 动态组件

    父组件 子组件A,B,C 点击A显示A组件内的信息,点击B显示B组组件内的信息

    2024年02月12日
    浏览(38)
  • vue3动态组件组件shallowRef包裹问题

    在vue3做tabs切换功能的时候,如果导入的组件不适用shallowRef包裹会显示下面的警告: 根据提示代码修改如下: 就能解决上面的问题。

    2024年02月22日
    浏览(58)
  • VITE+VUE3动态导入组件

    通常的动态组件导入方式   vue中又是时候我们会使用到动态组件导入,比如路由组件的动态导入,一般类似路由组件的动态导入的方式: ()=import(path); ()=defineAsyncComponent(()=import(path)) vite中使用的错误 但是这写方式进行动态导入组件的时候在vite+vue3项目下都是不行的,开发

    2024年02月14日
    浏览(43)
  • Vue + Element UI 前端篇(十):动态加载菜单

    之前我们的导航树都是写死在页面里的,而实际应用中是需要从后台服务器获取菜单数据之后动态生成的。 我们在这里就用上一篇准备好的数据格式Mock出模拟数据,然后动态生成我们的导航菜单。 接口模块化 我们向来讲究模块化,之前接口都集中在,interface.js,我们现在把

    2024年02月09日
    浏览(40)
  • 前端常用 Vue3 项目组件大全

    Vue.js 是一种流行的 JavaScript 前端框架,它简化了构建交互式的用户界面的过程。Vue3 是 Vue.js 的最新版本,引入了许多新的特性和改进。在 Vue3 中,组件是构建应用程序的核心部分,它们可以重用、组合和嵌套。下面是一些前端开发中常用的 Vue3 项目组件。 1、Vue Router: Vue

    2024年02月10日
    浏览(55)
  • VUE3+vite项目中动态引入组件和异步组件

    1. 把项目中所有vue文件注册成异步组件。 2. 获取组件 在setup函数获取组件 3. 参考如下 Glob 导入 Vite 支持使用特殊的 import.meta.glob 函数从文件系统导入多个模块: 以上将会被转译为下面的样子: 你可以遍历 modules 对象的 key 值来访问相应的模块: 匹配到的文件默认是懒加载的

    2024年02月10日
    浏览(105)
  • Vue3 —— 在vue中动态引入组件以及动态引入js的方法

    文章目录 一 、 动态引入组件 1. 具体写法 二、 动态引入js文件 1. 具体写法 总结 定义一个异步组件,它在运行时是懒加载的。参数可以是一个异步加载函数,或是对加载行为进行更具体定制的一个选项对象。 在大型项目中,我们可能需要拆分应用为更小的块,并仅在需要时

    2024年02月12日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包