1、mixin:
将组件的公共逻辑或者配置提取处理,哪个组件需要用到时,直接将提取的这部分混入到组件内部即可,这样可用减少代码的沉余度,也方便项目后期的维护。
这里需要注意的是:提取的是逻辑或配置,而不是HTML代码和CSS代码,也可以想象成MIxin就是组件中的组件,Vue组件化让我们的代码复用性更高,那么组件之间还有重复部分,我们就使用Mixin在抽离一遍。
2、Mixin和Vuex的区别
Vuex是公共的状态管理,如果在一个组件中更改了Vuex中的某个数据,那么其他所有引用了Vuex中的该数据的组件都会跟这一起变化。
Mixin中定义的变量,都是相互独立的,值的修改在组件中不会相互影响,如果相同对象,组件会覆盖mixins。
vuex:(这里将涉及到更改全局使用的数据的函数抽离出来,放在vuex中,这样在组件就可以使用dispatch一句代码进行调用)
mixin:(这里是将没有修改全局变量只是修改本行或者当前数据的函数进行抽离,相当于抽离了一部分公共的方法)
关于vuex和mixin的性能方面,询问了chatgpt,给出了如下答复: