我是靠谱客的博主 端庄舞蹈,最近开发中收集的这篇文章主要介绍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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部