我是靠谱客的博主 端庄舞蹈,这篇文章主要介绍mpvue踩坑之页面间通信小程序 this.getOpenerEventChannel is not a function,现在分享给大家,希望可以做个参考。

小程序自基础库v2.7.3开始提供了页面间通信的机制,很实用,但是一不小心就会出现问题

小程序 this.getOpenerEventChannel is not a function

废话不说,直接上干货

解决此问题,需要确认几个方面:

1.  检查页面的json文件中的内容,确认没有删除usingComponents,哪怕内容为空,也得留着

{
"usingComponents": {}
}

2. 检查基础库版本, 最低2.7.3

3. 如果是用的mpvue,则需要修改调用办法, this.$mp.page.getOpenerEventChannel()

demo:

openerPage

toPage2 () {
mpvue.navigateTo({
url: '/pages/page2/main',
events: {
// 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
dataFromOpenedPage (data) {
console.log('dataFromOpenedPage', data)
}
},
success: (res) => {
// 通过eventChannel向被打开页面传送数据
res.eventChannel.emit('dataFromOpenerPage', this.repeat)
}
})
},
// 接收数据的页面
export default {
data () {
return {}
},
onLoad () {
console.log('repeat', this)
const eventChannel = this.$mp.page.getOpenerEventChannel()
// 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
eventChannel.on('dataFromOpenerPage', (data) => {
console.log('dataFromOpenerPage', data)
})
eventChannel.emit('dataFromOpenedPage', {data: 'i'am response'});
}
}

 

齐活儿!!

最后

以上就是端庄舞蹈最近收集整理的关于mpvue踩坑之页面间通信小程序 this.getOpenerEventChannel is not a function的全部内容,更多相关mpvue踩坑之页面间通信小程序内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(138)

评论列表共有 0 条评论

立即
投稿
返回
顶部