组件化思想是近几年来说,在前端领域非常火的一个开发思想。
以下是转自知乎的我认为的跟自己理解相近的对于组件的介绍:
组件是对逻辑的封装,不限于图形元素。即我们可以把if做成组件、把一个倒计时做成组件、把一段动画做成组件、把路由做成组件、把数据架构做成组件,而这些并不能称为控件组件具备单个可移植性,即“随加载随用”,不需要为其准备复杂的基础条件(如引入样式、引入框架等)。然而这一点现有那些所谓组件库做得并不好,技术上也不大现实组件是声明式定义的,而非命令式。这个不想多说,很大程度上是自己主观的一个想法我个人理解的组件化开发是将一个具有可复用性的元素或者方法封装成一个可随使用随调用的组件的开发方式。而这种开发方式可以使前端项目在开发的过程中更简便的维护。
同时,最近在学习Vue的同时,在掘金看到一个很有意思的帖子。其中作者介绍了其使用Vue的一些业务场景,看到了作者对于Vue的全局注册和局部注册的一些介绍,其中介绍到了部分组件开发也就是全局组件开发的介绍。
1.全局注册
Vue.component('component-name', {
// ... 选项 ...
})
一个网页,一般由基础功能块,再由盒子模型合理布局之后,便组成了我们常见的网页。这些基础性功能块,再由一些基础元素组成,比如
button
标签、
input
标签等等。这些大家应该都了解。 在这基础上,整个页面基本遵守页面设计统一的原则,基础元素一般要设计统一,但又要在多个地方复用,所以此时就是全局组件的发挥之地。我们将多处需要复用的元素,封装成全局组件,功能与设计统一维护,而需要用到的地方,直接调用就好了,无需二次开发。这就是全局组件的便利之处。
全局组件的开发可以不局限于一些大型的组件开发,例如分页表格或者一些其他的,一些小的例如input之类的也可以通过组件化开发的思想去将之变为一个自定义组件,在使用的时候调用就可以,而且也更利于后期的维护,而这也是一些UI组件的开发思想和开发源泉。