mixin混入是一种非常灵活的分发vue组件可复用功能的方式。当组件使用混入对象时,所有混入对象的选项将被‘混合’进入该组件本身的选项。一个混合对象可以包含任意组件选项。 多个组件可以共享数据和方法。组件在使用mixin混入后,mixin中的属性和方法也就并入到该组件中,可以直接使用。若mixin中带有钩子函数,则优先执行mixin中的钩子。 以上可以简单理解为:mixin可以定义公用的,data,created,methods,computed,watch…用来扩展父组件。
选项合并规则:当组件和混入对象有同名选项时,这些选项将以合适的方式进行合并。
数据对象:数据对象在内部会进行递归合并。发生冲突时,组件数据会覆盖混入对象的数据。
钩子函数:同名钩子函数将合并为一个数组,他们都将被调用。其中混入对象中的钩子优先调用
对象选项:对象属性的选项将被合并为同一个对象。如methos、components等。当对象选项发生冲突时,组件中的选项将会覆盖混入对象的选项。
全局混入:使用全局混入后将影响每个创建的实例。