vue 组件复用的三种组件:
- mixin
- HOC
- Renderless
mixin组件:
可以在全局main.js 注册使用全局Vue.mixin({}),也可以在组件里单独使用mixin({})
注意:同名钩子函数合并为一个数组,混入对象的钩子将在组件自身钩子之前调用,二者的methods、components和directive,将被合并为同一个对象,若对象键名冲突时,取组件对象的键值对。
HOC组件(higher order component):
也就是封装一个的函数包裹外层,把组件当做参数传入。
Renderless组件:
复用的逻辑沉淀在包含slot插槽的组件,接口由插槽PROP来暴露