微信小程序事件传值EventChannel Cannot read property ‘data‘ of undefined
wx.navigateTo({url: '../motto/motto',events: {// 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据acceptDataFromOpenedPage: function (data) {console.log(data)},},success:function (res) {// 通过eventChannel...
·
wx.navigateTo({
url: '../motto/motto',
events: {
// 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
acceptDataFromOpenedPage: function (data) {
console.log(data)
},
},
success:function (res) {
// 通过eventChannel向被打开页面传送数据
res.eventChannel.emit('acceptDataFromOpenerPage',
{data: this.data.motto})
}
})
如果这么写,会遇到“Cannot read property 'data' of undefined ”的错误。
如果改成箭头函数的写法,就不会出错。
wx.navigateTo({
url: '../motto/motto',
events: {
// 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
acceptDataFromOpenedPage: function (data) {
console.log(data)
},
},
success: (res) => {
// 通过eventChannel向被打开页面传送数据
res.eventChannel.emit('acceptDataFromOpenerPage',
{data: this.data.motto})
}
})
分析原因,箭头函数是ES6的写法,不同的写法,会导致“this”的指代层级不同,所以会找不到data属性。
昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链
更多推荐

所有评论(0)