『引言』
在vue2.0中一些可复用的逻辑可以使用mixins来封装,但是需要考虑逻辑代码冲突问题。
vue3.0的组合API很好的解决了这个问题,就不再推荐使用mixins了。
尤雨溪也不推荐在vue3中使用混入,因为组合式API已经很好的解决了这个问题。
『mixins』
『定义』
『官方解释』
【我的理解】 将多个相同的逻辑抽离出来,每个组件只需引入mixins,就能实现一次写代码,多组件受益。
『用法』
- 将代码中script部分代码抽出来,写入一个js文件中
- 需要引入mixins的组件引入即可
『官网示例🌰』
『注意』
- 组件的data、methods会覆盖mixins里的同名data、methods
- mixins中的生命周期会与引入mixins的组件的生命周期整合在一起调用
- 不同mixin里的同名方法,按照引进的顺序,最后的覆盖前面的同名方法
『extends』
『定义』
『官方解释』
【我的理解】 extends主要用于创建新组件,并继承另一个组件的所有选项。
『用法』
『官网示例🌰』
『注意』
不建议用于组合式 API
extends 是为选项式 API 设计的,不会处理 setup() 钩子的合并。