W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
針對 eventPlugin 插件上用到的高頻用到的事件監(jiān)聽和取消監(jiān)聽,MorJS 拓展了語法,可以直接在 aComponent
/ wComponent
中直接使用。
$eventListener
會在 Component
的 didMount
生命周期中進(jìn)行事件的綁定,在 didUnmount
生命周期中進(jìn)行事件的解綁,業(yè)務(wù)可以不用再去關(guān)心事件的解綁邏輯$eventListener
會在內(nèi)部處理好 this
對象,直接指向當(dāng)前的實(shí)例,不需要業(yè)務(wù)去關(guān)心綁定,業(yè)務(wù)請勿在事件的回調(diào)函數(shù)中使用箭頭函數(shù),否則會導(dǎo)致 this
對象異常$eventListener
是一個(gè)對象: key
是事件名,value
是事件的回調(diào)函數(shù)$eventListener
只針對需要多次監(jiān)聽的事件,對于只需要監(jiān)聽一次的,請參考 event
插件的 once
的用法以下以修改了頁面的門店為例,其中 changeStore 是事件名
import { aComponent } from '@morjs/core'
aComponent({
// 會自動做事件的綁定和解綁
$eventListener: {
// changeStore是監(jiān)聽的事件名
changeStore: function (storeId) {
console.log('in component $eventListener changeStore', storeId)
}
}
})
觸發(fā)代碼示例:
import { aComponent } from '@morjs/core'
aPage({
data: {
storeId: '123'
},
onStoreChange: function () {
// 調(diào)用方依然只需要根據(jù)$event插件的方式,直接調(diào)用即可
getApp().$event.emit('changeStore', this.data.storeId)
}
})
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: