W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
針對(duì) eventPlugin 插件上用到的高頻用到的事件監(jiān)聽和取消監(jiān)聽,MorJS 拓展了語(yǔ)法,可以直接在 aPage
/ wPage
中直接使用。
$eventListener
會(huì)在 Page
的 onLoad
生命周期中進(jìn)行事件的綁定,在 onUnload
生命周期中進(jìn)行事件的解綁,業(yè)務(wù)可以不用再去關(guān)心事件的解綁邏輯$eventListener
會(huì)在內(nèi)部處理好 this
對(duì)象,直接指向當(dāng)前的實(shí)例,不需要業(yè)務(wù)去關(guān)心綁定,業(yè)務(wù)請(qǐng)勿在事件的回調(diào)函數(shù)中使用箭頭函數(shù),否則會(huì)導(dǎo)致 this
對(duì)象異常$eventListener
是一個(gè)對(duì)象: key
是事件名,value
是事件的回調(diào)函數(shù)$eventListener
只針對(duì)需要多次監(jiān)聽的事件,對(duì)于只需要監(jiān)聽一次的,請(qǐng)參考 event
插件的 once
的用法以下示例代碼以常見的刷新頁(yè)面數(shù)據(jù)為例,其中 refreshPage 是事件名
import { aPage } from '@morjs/core'
aPage({
// 會(huì)自動(dòng)做事件的綁定和解綁
$eventListener: {
// refreshPage是監(jiān)聽的事件名
refreshPage: function (storeId) {
console.log('in page $eventListener refreshPage', storeId)
}
}
})
觸發(fā)代碼示例:
import { aPage } from '@morjs/core'
aPage({
data: {
storeId: '123'
},
onStoreChange: function () {
// 調(diào)用方依然只需要根據(jù)$event插件的方式,直接調(diào)用即可
getApp().$event.emit('refreshPage', this.data.storeId)
}
})
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)系方式:
更多建議: