Vue3之组件
创始人
2024-05-26 23:53:10
0

何为组件

组件化的概念已经提出了很多年了,但是何为组件呢?组件有啥优势?本文将会做出解答,首先我们需要弄清楚何为组件。在VUE的官网中的解释是:
组件允许我们将 UI 划分为独立的、可重用的部分,并且可以对每个部分进行单独的思考。
我觉得这个解释很官方,不好理解,我的理解是:组件其实就是完成一个功能的每一个模块的封装,比如我们要完成一个购物APP,我们设计完APP的架构后需要把各个部分组件化,比如登录模块、直播模块、支付模块、购物车模块、商详模块…等等,这些每一个模块就可以称为是一个组件,他们是独立于APP的,每个模块都可以单独进行自己的开发,不会影响到其他模块,但是模块之间可以进行通信,共同完成一个功能。这样的好处就是APP可裁剪,假如我们现在要开发一个新的购物VIP APP专门给特定人群使用,我们不需要再重新开发,只复用我们开发过的这些模块,就可以快速搭建一个新的APP了。

VUE3中也提供了组件的实现,如下图所示(图片来自VUE官网):
在这里插入图片描述我们可以将一个页面拆成多个模块,每个模块就可以称为一个组件,这些组件具有复用性,在其他页面也可能会使用到,所以将其抽成一个组件,当我们在其他地方需要使用相似的UI展示效果时,可以重用这些组件,快速搭建新的界面。

示例解析

在VUE中可以使用components来声明一个组件,声明的组件分为两种,一种是全局组件,一种是局部组件。我们可以简单实现两个组件,一个是计数器,名为counter,点击计数器的值可进行加一操作,一个是div组件,名为hello- world,显示“hello world”。下面我们分别看下如何定义全局组件和局部组件,以及他们的区别。

全局组件

全局组件:优点:只要定义了,处处可以使用。
。 缺点:性能不高

注意:全局组件的名称建议使用小写字母单词,中间使用“-”分隔



组件

如上面的代码所示,定义全局组件的时候可以使用app.component{组件名,{组件实现}}的方式,定义完后就可以像使用div标签那样使用组件了。

局部组件

局部组件:定义了局部组件后,需要注册之后才能使用,优点是性能比较高,缺点是使用起来比较麻烦

注:定义局部组件的时候会声明一个局部变量,这个变量的名字建议使用大写字母开头,驼峰命名,局部组件使用时需要做一个组件名字和组件间的映射



组件

如上面代码所示:定义局部组件的时候,使用的方式是:const XxxYy = {组件实现};,使用的时候先注册,做一个组件和名字的映射,然后再使用就行了,使用和全局组件相同:

 components:{'counter':Counter,'hello-world':HelloWorld}, //定义局部组件必须使用这个

运行截图:
在这里插入图片描述

总结

本文主要介绍了组件的概念和VUE3中定义和使用组件的方法。看完本文,读者应该能了解到全局组件和局部组件的定义和使用方法以及他们之间的区别。组件具有复用性,全局组件只要定义了,处处都可以使用,而且使用很简单,但是性能不高;局部组件定义后需要注册餐能使用,而且使用起来相对麻烦,但是性能比较高。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...