今天來(lái)分享一個(gè)在APIcloud中常出現(xiàn)的一個(gè)問題。我們?cè)趯戫?yè)面的時(shí)候,經(jīng)常會(huì)出現(xiàn)在內(nèi)頁(yè)對(duì)渲染的數(shù)據(jù)進(jìn)行更新,返回外頁(yè)的時(shí)候卻獲取不到的情況,需要重新進(jìn)入外頁(yè)才能獲取。這實(shí)際上是因?yàn)樵趦?nèi)頁(yè)通過接口傳完數(shù)據(jù)后沒有再重新獲取的原因。APIcloud給我們提供了一個(gè)sendEvent方法,將任意一個(gè)自定義事件廣播出去,該事件可在任意頁(yè)面通過 addEventListener 監(jiān)聽收到。
例如:
api.sendEvent({
name: 'myEvent',
extra: {
key1: 'value1',
key2: 'value2'
}
});
其中name為任意自定義事件的名稱,extra為附帶的參數(shù)(可選項(xiàng)),在監(jiān)聽頁(yè)面的回調(diào)里面通過 ret.value 獲取。
如在內(nèi)頁(yè)調(diào)接口進(jìn)行同步數(shù)據(jù)操作,當(dāng)接口返回code為1時(shí),發(fā)送事件并由外頁(yè)接收。
這樣,當(dāng)接收到內(nèi)頁(yè)傳出的retrospectPackage事件后,重新獲取一遍數(shù)據(jù),就能及時(shí)的渲染到頁(yè)面了。
下一篇: APICloud 窗口篇
關(guān)鍵詞: