Wechatlib:2.9.3
父页面:
navigateTo(e) { // console.log(e.currentTarget.dataset.url) let url = e.currentTarget.dataset.url; let files = this .data.files; if (utils.notEmpty(url) && files.length > 0) { wx.navigateTo({ url: url, success: function (res) { //触发子页面的一个名为acceptDataFromParentPage事件,并传递数据 files //通过eventChannel向被打开页面传送数据 res.eventChannel.emit( 'acceptDataFromParentPage' , files) } }) } else { utils.showModalNoCancel( '请选择图片' , '我知道了' ); } }, |
子页面:
/** * 生命周期函数--监听页面加载 */ onLoad: function (options) { const eventChannel = this .getOpenerEventChannel() // 监听acceptDataFromParentPage事件,获取上一页面通过eventChannel传送到当前页面的数据 eventChannel.once( 'acceptDataFromParentPage' , data => { // console.log(data) data.forEach(element => { this .setData({ files: this .data.files.concat({ imsrc: element }) }) }) }); }, |
同不生效
官方能否给 once的使用姿势?
代码和楼主的差不多,但是都执行不到控制台那一步
麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)