小程序中當(dāng)需要傳遞大量數(shù)據(jù)參數(shù)時(shí),可以使用消息觸發(fā)或監(jiān)聽(tīng),注意,不適合uniapp的h5,刷新會(huì)丟失數(shù)據(jù)
例如從A頁(yè)面跳轉(zhuǎn)到B頁(yè)面
A頁(yè)面
/** 查看日志 */
function toLog() {
uni.navigateTo({
url: "./gemLog",
success: res => {
let ad = [1, 2, 3]
let od = { key: "value" }
res.eventChannel.emit("acceptDataFromOpenerPage", { ad, od })
}
})
}
B頁(yè)面
import { getCurrentInstance } from "vue"
const instance = getCurrentInstance().proxy
const eventChannel = instance.getOpenerEventChannel()
eventChannel.on("acceptDataFromOpenerPage", function (data: any) {
console.log("acceptDataFromOpenerPage", data)
})
/** 頁(yè)面注銷時(shí)候銷毀 */
onUnload(() => {
eventChannel.off("acceptDataFromOpenerPage")
})
如果是微信小程序,替換uni為wx

打印信息截圖