# 如何设计组件
设计组件的时候需要遵循先设计,后实现的理念。
# 组件设计四要素
- 属性: 属性的类型、是否必填、默认值(属性类型确定后不再变化)
- 方法: 方法的参数、返回值(需要考虑变化的情况)
- 时间: 事件回调函数的参数
- 子视图(插槽): 插槽可获取到的局部参数
# 最小化原则
设计组件时,务必遵循最小化原则,即尽可能少地抛出接口, 因为使用组件的用户可能有很多,一旦组件作者不小心抛出了一个不合理的接口,以后想要修改就几乎不可能了(只能通过标记过时的方法提醒用户,但这种做法往往是无奈之举)。
# 兼容多种情况
组件内部获取内容的方式有多种,用户可以直接传入内容,也可以传入id,组件内部获取,当有多种情况时,需要对传入的数据做判断,以防用户啥也不传
# 兼容不同模式
组件有多个状态,比如编辑或者阅读。此时传入数组,并以数组第一个元素为默认值
# 组件状态改变
当组件内部有多个状态的时候,是否需要将组件状态通知到外部,此时需要组件设计者认真考虑
# 组件插槽
支持用户在组件内部附加任何其他组件