vue mixins 合并策略

methods、components、directives

mixins定义:

mixins选项接受一个混入对象的数组,类型:Array<Object>

mixins原理:

真正的实现是靠mergeOptions函数实现的。

这个函数传进去的两个参数分别是this.options 和 mixin,而mergeOptions函数则实现了递归遍历this.options,然后执行mergeField,返回最终合并的this.options
mergeField函数:一般我们执行mergeField 里的key基本上就是上面strats的属性了,用的最多的可能就是data、methods、props了,所以如果我们在mixins中用到了data,其本质上就是合并当前vue实例对象里的data和我们传进去的mixin里的data,其他属性也是一样的

合并策略:

1、data

mixins中的data会合并到实例中的data中,有冲突的话,实例中data的数据会覆盖mixins中的数据

 

2、钩子函数

mixins中和实例中的钩子函数,都会执行,先执行mixins中的钩子函数

 

 

 3、methods、components、directives

methods、components、directives会执行,当有冲突的时候,实例中的会覆盖mixins中的

 

posted @ 2020-08-05 10:04  嘟嘟兜  阅读(1082)  评论(0)    收藏  举报