W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
小程序在 Component
的維度上支持的 mixins
,使用 mixins
能夠解耦業(yè)務(wù)可復(fù)用邏輯,因此 MorJS 在 Component
的維度上也同樣支持 mixins
的機(jī)制,使用上基本與 Component
一致,提供 { mixins: [mixin1, mixin2] }
的 mixin
數(shù)組即可。有以下的注意點(diǎn):
mixin
必須是一個(gè)對(duì)象,里面是希望給 aPage
/ wPage
合并的各種屬性data
等 Object
類型的對(duì)象屬性均會(huì)合并aPage
/ wPage
選項(xiàng)的生命周期最后執(zhí)行Object
類型的屬性(如:函數(shù))會(huì)被同名的屬性覆蓋,aPage
/ wPage
選項(xiàng)的屬性優(yōu)先級(jí)最高import { aComponent } from '@morjs/core'
const mixinA = {
data: {
x: 1
},
didMount() {
console.log('mixina', 'didMount')
},
methods: {
foo() {
console.log('mixina', 'foo')
}
}
}
const mixinB = {
data: {
y: 2
},
didMount() {
console.log('mixinb', 'didMount')
},
methods: {
foo() {
console.log('mixinb', 'foo')
}
}
}
aComponent({
mixins: [mixinA, mixinB],
didMount() {
// 生命周期依次打印 mixina didMount -> mixinb didMount -> component didMount
console.log('component', 'didMount')
// 執(zhí)行的是 mixinB 的 foo 方法
this.foo()
// { x: 1, y: 2, z: 3 } mixinA 和 mixinB 的 data 會(huì)合并
console.log(this.data)
}
})
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: