【vue】mixin混入理解和使用方法
【为什么要使用mixin】
有两个非常相似的组件,它们的功能有很多重合项,但是又有着很多的差异性,这个时候有两种方法,一是写成一个组件,用props进行自定义;二是直接分成两个组件。
如果是使用两个组件的话,相同代码过多,过分冗余,其次当要修改功能的时候,要改两个组件,比较麻烦;如果使用一个组件的话,利用大量的props进行定义,当在使用组件的时候,可能要花费大量的事件去理解props上下文关系,拖慢速度。
这个时候,mixin混入就有很好的用处了,它可以提取公共部分在一个混入对象中,然后合并至其它组件中进行使用。
【选项合并】
数据对象:浅拷贝方式进行合并,并且以组件对象中的数据为主;
生命周期钩子函数:以数组形式进行合并,都会进行调用,混入对象中的钩子函数先执行;
值为对象的选项(比如methods、components等)会混合为同一个对象,健名冲突时以组件对象的为主。
【参考文章】