组件化设计思路总结

5 篇文章 0 订阅
4 篇文章 0 订阅
前言:

Q:什么是前端组件化开发?
A:拆分功能,封装组件,单独维护

Q:组件化开发的优点?
A:可以很大程度上降低系统各个功能的耦合性,并且提高了功能内部的聚合性。这对前端工程化及降低代码的维护来说,是有很大的好处的。
耦合性的降低,提高了系统的伸展性,降低了开发的复杂度,提升开发效率,降低开发成本。

Q:设计思路重点是什么?怎么设计一个组件?
A: 重点有三项:专一性,可配置性,生命周期,事件传递;

正文:

1.专一性:
设计一个组件需要专一性,即一个组件只负责一个功能,跟封封逻辑功能的思路一致,遵循的原则是就是:一个组件只专注的做一件事,并且要把这件事做好;
一个组件的功能如果可以拆封成多个功能点,应将每个功能点设计成一个个小组件,但并不是颗粒度越小越好,只要将一个组件内的功能和逻辑控制在一个可控的范围内即可;

2.可配置性:
一个组件,要明确它的输入和输出分别是什么。
组件除了要展示默认的内容,还需要做一些动态的适配,比如:一个组件内有一段文本,一个图片和一个按钮。那么字体的颜色、图片的规则、按钮的位置、按钮点击事件的处理逻辑等,都是可以做成可配置的。
要做可配置性,最基本的方式是通过属性向组件传递配置的值,而在组件初始化的声明周期内,通过读取属性的值做出对应的显示修改。还有一些方法,通过调用组件暴露出来的函数,向函数传递有效的值;修改全局 CSS样式;向组件传递特定事件,并在组件内监听该事件来执行函数等。
在做可配置性时,为了让组件更加健壮,保证组件接收到的是有效的属性、函数接收到的是有效的参数,需要做一些校验。

对属性的值进行校验,一般要考虑以下几个方面。
1.属性值的类型是否是有效的。如果某个属性要求传递一个数组,那么传递过来的值不是数组时,就要抛出异常,并给出对应的提示。
2.属性是否是必填的。有的属性的值,是组件内不可缺少的时,就要是必填的,在组件初始化时要做是否传递的检查,如果没有传递,则需要抛出异常,并给出相应的提示。如果属性不是必填的,可以设定一个默认值,当属性没有被设置时,就使用默认值。

函数的参数校验,只要按照传统的方法进行校验即可。在函数内部顶部判断参数的值和类型,如果不满足要求,则抛出异常,并给出相应的提示。

3.生命周期:
组件要明确在不同的生命周期下,要接收对应的函数,类似于vue钩子函数,vue组件提供了很好的生命周期函数(beforeCreate,created,beforeMount,mounted,beforeUpdate,updated,beforeDestroy,destroyed)

4.事件传递:
组件需要支持事件的传递,vue中用$emit监听

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值