基础库 或更高版本; 若版本较低,建议采取 兼容处理 。
主体: 企业支付宝小程序 、 个人支付宝小程序
相关文档: 路由使用须知
事件通信通道。
方法
名称 | 类型 | 功能说明 |
---|---|---|
eventchannel.emit | function | 触发一个事件。 |
eventchannel.on | function | 持续监听一个事件。 |
eventchannel.once | function | 监听一个事件一次,触发后失效。 |
eventchannel.off | function | 取消监听一个事件。给出第二个参数时,只取消给出的监听函数,否则取消该事件的所有监听函数。 |
示例代码
// pagea.js
my.navigateto({
url: '/pages/pageb/index?id=1',
events: {
// a 页面 接收 b 页面传过来的数据。
pageb_data(data) {
console.log(data); // { "message": "hello~ 我是 pageb" }
},
},
success: function(res) {
// a 页面向 b 页面 传值
res.eventchannel.emit('pagea_data', { data: 'hi~ 我是 pagea' })
}
})
// pageb.js
page({
onload() {
const eventchannel = this.getopenereventchannel();
// b 页面向 a 页面 传值
eventchannel.emit('pageb_data', {
message: 'hello~ 我是 pageb',
});
const listener = (data) => {
console.log(data); // { "data": "hi~ 我是 pagea" }
}
// b 页面 接收 a 页面传过来的数据(持续监听)。
eventchannel.on('pagea_data',listener);
// 解除监听事件
eventchannel.off('pagea_data',listener);
// b 页面 接收 a 页面传过来的数据(监听一个事件一次,触发后失效)。
eventchannel.once('pagea_data', listener);
},
});