Vue中混入mixin的用法介紹
什么是混入?
混入通過注入配置項到vue實例用來提升復(fù)用性
基礎(chǔ)使用
const myMixin = {
created: function () {
this.hello();
},
methods: {
hello: function () {
console.log('hello from mixin');
},
},
};
var vm = new Vue({
el: '#app',
mixins: [myMixin],
});選項合并
選項合并發(fā)生在下面兩種情況
- mixins接收的是一個數(shù)組,mixin中的屬性沖突時會發(fā)生合并
- mixin屬性和組件原有屬性沖突時
const myMixin = {
created: function () {
this.hello();
},
methods: {
hello: function () {
console.log('hello from mixin');
},
},
};
var vm = new Vue({
el: '#app',
mixins: [myMixin],
created: function () {
this.hello();
},
methods: {
hello: function () {
console.log('hello from vue instance');
},
},
});
上述兩種的選項合并規(guī)則是相同的:
- 周期鉤子沖突的時候,會合并成數(shù)組都保留,執(zhí)行順序是先執(zhí)行minxi的鉤子,再執(zhí)行組件上的鉤子
- methods、computed這類值為對象的選項在沖突的時候以組件屬性為準(zhǔn)
自定義合并規(guī)則
除了使用上述默認(rèn)的合并規(guī)則,還可以通過Vue.config.optionMergeStrategies自定義合并規(guī)則。
Vue.config.optionMergeStrategies.myMixin=(toVal, fromVal){
//返回合并的值
};
通常對于值為對象的屬性我們可以借用已有的合并規(guī)則
//借用methods的規(guī)則 Vue.config.optionMergeStrategies.myMixin=Vue.config.optionMergeStrategies.methods;
全局混入
混入也可以全局注冊,使用時候要格外小心,它會影響到每一個組件/實例
Vue.mixin({
created: function () {
console.log('mixin created');
},
});
var vm1 = new Vue(...);
var vm2 = new Vue(...);
總結(jié)
- mixin混入通過注入配置項到vue實例提升復(fù)用性
- 屬性沖突時以組件內(nèi)的屬性為準(zhǔn),聲明周期的鉤子會保留多個
到此這篇關(guān)于Vue中混入mixin的用法介紹的文章就介紹到這了,更多相關(guān)Vue mixin內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決vue-element-admin安裝依賴npm install報錯問題
這篇文章主要介紹了解決vue-element-admin安裝依賴npm install報錯問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06
優(yōu)化Vue template中大量條件選擇v-if的方案分享
本文我們將給大家詳細(xì)的講解一下如何優(yōu)化Vue template 中的大量條件選擇v-if,文中通過代碼示例介紹的非常詳細(xì),有詳細(xì)的優(yōu)化方案,感興趣的朋友可以參考閱讀下2023-07-07
elementui實現(xiàn)表格(el-table)默認(rèn)選中功能
這篇文章主要介紹了elementui實現(xiàn)表格(el-table)默認(rèn)選中功能,本文給大家分享實現(xiàn)思路結(jié)合實例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2024-07-07

