适用于多个组件有相同的逻辑的情况,但是多个mixin可能会造成命名冲突。
data:在内部会进行递归合并,并在发生冲突时以组件数据优先。(同名就近原则)
值为对象的选项,例如 methods、components 和 directives:将被合并为同一个对象。两个对象键名冲突时,取组件对象的键值对。(同名就近原则)
同名钩子函数:将合并为一个数组,因此都将被调用。另外,混入对象的钩子将在组件自身钩子之前调用。(混入优先调用)
// 定义一个混入对象,并暴露出去
var myMixin = {
data() {
return {
};
},
created: function () {
this.hello()
},
methods: {
hello: function () {
console.log('hello from mixin!')
}
}
}
export default myMixin ;
//组件中配置混入对象
import myMixin from '@p/courseResource/courseCommon/myMixin ';
export default {
mixins: [myMixin],
data() {
return {
};
},
mounted() {
},
methods: {
}
};