官方解释
混入(mixin)提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对象可以包含任意组件选项(如data、methods、mounted等等)。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。
自我理解
组件和组件之间也有重复部分,使用Mixin再次进行抽离去重
Vuex和Mixin的区别
Vuex公共状态管理,如果在一个组件中更改了Vuex中的某个数据,那么其它所有引用了Vuex中该数据的组件也会跟着变化。
Mixin中的数据和方法都是独立的,组件之间使用后是互相不影响的。
Mixin的使用知识:
mixin中的生命周期函数会和组件的生命周期函数一起合并执行。
mixin中的data数据在组件中也可以使用。
mixin中的方法在组件内部可以直接调用。
生命周期函数合并后执行顺序:先执行mixin中的,后执行组件的。、
Mixin冲突问题
1.生命周期函数命名冲突
先执行Mixin中生命周期函数中的代码,然后在执行组件内部的代码
2.data数据冲突
Mixin中的data数据与组件中的data数据冲突时,组件中的data数据会覆盖mixin中数据
3.方法名冲突
当Mixin和组件中都有某个同名的方法时,在组件中调用时,最后实际调用的是组件中的方法。