1.合并
一種分發Vue組件中可復用功能的方式
var mixin = {
//同名鉤子合并為一個數組,依次調用
created: function () {
console.log('混合對象的鉤子被調用');
},
//methods, components, directives同名函數合并,取組件對象中的鍵值對
methods: {
confliction: function () {
console.log('混合對象');
}
}
};
//輸出:
//混合對象的鉤子被調用
//組件鉤子調用
var app = new Vue({
mixins: [mixin],
created: function () {
console.log('組件鉤子調用');
},
methods: {
confliction: function () {
console.log('組件對象');
}
}
});
//輸出:組件對象
app.confliction();
Vue.extend()合并策略相同
2.全局混合
//輸出:66
Vue.mixin({
created: function () {
console.log(this.$options.name);
}
});
new Vue({
name: "66"
});
謹慎使用全局混合對象,會影響每個單獨創建的Vue實例
3.自定義選項合并策略
使用Vue.config.optionMergeStrategies添加,自定義合并策略