這篇文章給大家介紹怎么在Vue項目中使用mixin分發(fā)組件的可復(fù)用功能,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
創(chuàng)新互聯(lián)建站主營富錦網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,App定制開發(fā),富錦h5成都小程序開發(fā)搭建,富錦網(wǎng)站營銷推廣歡迎富錦等地區(qū)企業(yè)咨詢
vue官方推薦使用mixins來完成高階組件的功能,如果對vue實現(xiàn)高階組件有興趣的話推薦看[vue實現(xiàn)高階組件][1]
下面是vue官網(wǎng)使用mixins的例子:
// 定義一個混入對象 var myMixin = { created: function () { this.hello() }, methods: { hello: function () { console.log('hello from mixin!') } } } // 定義一個使用混入對象的組件 var Component = Vue.extend({ mixins: [myMixin] }) var component = new Component() // => "hello from mixin!"
每個vue組件有mixins屬性接收mixin數(shù)組,但由于mixin與組件,mixin與mixin之間存在屬性命名沖突的問題,vue解決這個的方式是:
1 數(shù)據(jù)對象在內(nèi)部會進(jìn)行遞歸合并,并在發(fā)生沖突時以組件數(shù)據(jù)優(yōu)先。
2 值為對象的選項,例如 methods、components 和 directives,將被合并為同一個對象。兩個對象鍵名沖突時,取組件對象的鍵值對。
3 Vue.extend()和new Vue()創(chuàng)建的組件,解決上述的命名沖突的方案是一樣的。
關(guān)于怎么在Vue項目中使用mixin分發(fā)組件的可復(fù)用功能就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。