我是靠谱客的博主 端庄舞蹈,最近开发中收集的这篇文章主要介绍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踩坑之页面间通信小程序 this.getOpenerEventChannel is not a function所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复