关于Vue如何实现动态组件?

简介: 学习如何使用动态组件后,你会止不住的对它喜欢哒~~

学习如何使用动态组件后,你会止不住的对它喜欢哒~~

介绍

<component>,一个用于渲染动态组件或元素的“元组件”。

Props

interface DynamicComponentProps {
    
  is: string | Component 
}

详细信息

要渲染的实际组件由 `is` prop 决定。

-   当 `is` 是字符串,它既可以是 HTML 标签名也可以是组件的注册名。
-   或者,`is` 也可以直接绑定到组件的定义。

示例

按注册名渲染组件 (选项式 API):

下面的示例是意思是当Math.random() > 0.5的值为true时显示Foo组件,反之显示Bar

<script setup> 
    import Foo from './Foo.vue' 
    import Bar from './Bar.vue' 
</script> 

<template> 
    <component :is="Math.random() > 0.5 ? Foo : Bar" /> 
</template>

了解完以上的步骤后,精彩才刚刚开始呢~

看到这里大家都已经知道,通过is属性可以控制要显示的组件,显示的组件是:全局注册的组件,当前页面注册的组件。

什么,可以用全局注册的组件?

是的,没错,可以使用全局注册的组件,例如:当项目中全局注册了UI库,或者项目自带的全局组件时,可以直接通过<component>显示。

例如:

<script setup> 
    const attr = {
        type: 'primary',
        round: true
    }
</script> 

<template> 
    <-- 示例一 -->
    <component is="el-button" /> 
    <-- 示例二 -->
    <component is="el-button" type="primary" round /> 
    <-- 示例三 -->
    <component is="el-button" v-bind="attr" /> 
    <-- 示例四:假设el-button由title插槽 -->
    <component is="el-button" v-bind="attr"> 
        <template #title>
            // 自己想要展示的操作
        </template>
    </component>
</template>

通过以上的学习,在项目开发过程,如果有碰到通过不同条件展示不同的组件就可以用这个<component>组件啦。

不处意外的话,使用Vue的低代码平台的表单设计器或者其他设计器基本就运用了大量的<component>哟~

为什么这样说呢,我自己就使用<component>搭建一款高效的低代码引擎,请看结尾部分。

彩蛋

Hex Lowcode Engine

可视化拖拽式设计,快速开发页面,享受更多摸鱼时光...

文档链接:https://www.zczchen.top/hex-lowcode-engine-starter/

产品链接:https://www.zczchen.top/hex-lowcode-engine/

如果有想要了解的,可以联系我哟~

目录
相关文章
|
26天前
|
JavaScript API 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
27天前
|
JavaScript 前端开发 开发者
vue 数据驱动视图
总之,Vue 数据驱动视图是一种先进的理念和技术,它为前端开发带来了巨大的便利和优势。通过理解和应用这一特性,开发者能够构建出更加动态、高效、用户体验良好的前端应用。在不断发展的前端领域中,数据驱动视图将继续发挥重要作用,推动着应用界面的不断创新和进化。
|
22天前
|
缓存 JavaScript UED
Vue3中v-model在处理自定义组件双向数据绑定时有哪些注意事项?
在使用`v-model`处理自定义组件双向数据绑定时,要仔细考虑各种因素,确保数据的准确传递和更新,同时提供良好的用户体验和代码可维护性。通过合理的设计和注意事项的遵循,能够更好地发挥`v-model`的优势,实现高效的双向数据绑定效果。
126 64
|
1天前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
22天前
|
前端开发 JavaScript 测试技术
Vue3中v-model在处理自定义组件双向数据绑定时,如何避免循环引用?
Web 组件化是一种有效的开发方法,可以提高项目的质量、效率和可维护性。在实际项目中,要结合项目的具体情况,合理应用 Web 组件化的理念和技术,实现项目的成功实施和交付。通过不断地探索和实践,将 Web 组件化的优势充分发挥出来,为前端开发领域的发展做出贡献。
28 8
|
22天前
|
JavaScript
在 Vue 3 中,如何使用 v-model 来处理自定义组件的双向数据绑定?
需要注意的是,在实际开发中,根据具体的业务需求和组件设计,可能需要对上述步骤进行适当的调整和优化,以确保双向数据绑定的正确性和稳定性。同时,深入理解 Vue 3 的响应式机制和组件通信原理,将有助于更好地运用 `v-model` 实现自定义组件的双向数据绑定。
|
26天前
|
JavaScript 前端开发 开发者
Vue是如何劫持响应式对象的
Vue是如何劫持响应式对象的
23 1
|
26天前
|
JavaScript 前端开发 API
介绍一下Vue中的响应式原理
介绍一下Vue中的响应式原理
28 1
|
26天前
|
JavaScript 前端开发 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
26天前
|
存储 JavaScript 前端开发
介绍一下Vue的核心功能
介绍一下Vue的核心功能
下一篇
DataWorks