收藏
回答

事件监听代码报错

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug wx.navigateTo 工具 7.0.5 2.7.7

一个页面通过点击到达下一个页面:

toEditUserInfo(e){
    var that = this
    wx.navigateTo({
      url: 'editUserInfo/editUserInfo',
      success:res=>{
        res.eventChannel.emit('acceptDataFromOpenerPage',that.data.userInfoInDB)
      }
    })

下一个页面接收上个页面的数据:

onLoad () {
    const eventChannel = this.getOpenerEventChannel();
    // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
    eventChannel.on('acceptDataFromOpenerPage', function (data) {
      console.log(data)
    })
  },

可以代码报错:


为什么他没有认为他是函数?

最后一次编辑于  07-22  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

7 个回答

  • 最後的我們
    最後的我們
    07-24

    试试在json文件中加个"usingComponents": {} ,我一开始是可以用的,后来把这个去掉就报这个错误,然后我加上就又不报错了。。。

    07-24
    赞同 1
    回复 7
    • 宠与崇
      宠与崇
      07-24
      果然是这样的!谢谢你拉~
      07-24
      回复
    • 最後的我們
      最後的我們
      07-24
      不客气 O(∩_∩)O~
      07-24
      回复
    • 赤耳乔
      赤耳乔
      08-06回复宠与崇
      请问,为什么我加上还是不行呢
      08-06
      回复
    • 飘
      08-07
      我的加上也不行
      08-07
      回复
    • 最後的我們
      最後的我們
      08-16回复
      在你报错的页面json文件里加。
      08-16
      回复
    查看更多(2)
  • 静静涛涛
    静静涛涛
    星期一 11:21

    SDK版本低了,开发工具右上角“详情”->“本地设置”->“调试基础库”,把调试基础库版本调高

    星期一 11:21
    赞同
    回复
  • 小肥羊
    小肥羊
    10-18

    我的小程序已经引入其他组建了呢??

    usingComponents": {} 不能这么做呀

    10-18
    赞同
    回复
  • Jeff
    Jeff
    08-19

    小米8 在微信7.0.3的时候也遇到了。升级到7.0.5时好了。

    08-19
    赞同
    回复
  • Shint
    Shint
    07-23

    一般在前面写个  let self = this 用self指向就可以了


    07-23
    赞同
    回复
  • 宠与崇
    宠与崇
    07-22

    是原生的,我先试试

    07-22
    赞同
    回复
  • 仙森ღ₅₂₀¹³¹⁴
    仙森ღ₅₂₀¹³¹⁴
    07-22

    一般这种情况是你 this的指向 问题。你打印下this。还有你这个不是原生的吧,是框架版么?

    07-22
    赞同
    回复 7
    • 宠与崇
      宠与崇
      07-23

      这个this有什么问题吗,主要是其他地方这个事件监听都可以使用,唯独这个不行

      07-23
      回复
    • 仙森ღ₅₂₀¹³¹⁴
      仙森ღ₅₂₀¹³¹⁴
      07-23回复宠与崇
      打印出来的this下 没有getOpener这个方法吖
      07-23
      回复
    • 仙森ღ₅₂₀¹³¹⁴
      仙森ღ₅₂₀¹³¹⁴
      07-23
      而且传递数据 不是拼接在url后面就好了吗?比如 /pages/test/index?id=1
      07-23
      回复
    • 宠与崇
      宠与崇
      07-23回复仙森ღ₅₂₀¹³¹⁴
      我知道也有这个方法,但我想的是如果有很多参数就比较麻烦了,我现在就是放在url后面
      07-23
      回复
    • 仙森ღ₅₂₀¹³¹⁴
      仙森ღ₅₂₀¹³¹⁴
      07-23
      很多参数 你可以 JSON.stringify 一个对象,下个页面 解析下就好了
      07-23
      1
      回复
    查看更多(2)