收藏
回答

事件监听代码报错

框架类型 问题类型 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)
    })
  },

可以代码报错:


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

回答关注问题邀请回答
收藏

7 个回答

  • 静静涛涛
    静静涛涛
    2019-11-11

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

    2019-11-11
    有用 1
    回复
  • 最後的我們
    最後的我們
    2019-07-24

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

    2019-07-24
    有用 1
    回复 7
    • 宠与崇
      宠与崇
      2019-07-24
      果然是这样的!谢谢你拉~
      2019-07-24
      回复
    • 最後的我們
      最後的我們
      2019-07-24
      不客气 O(∩_∩)O~
      2019-07-24
      回复
    • 赤耳乔
      赤耳乔
      2019-08-06回复宠与崇
      请问,为什么我加上还是不行呢
      2019-08-06
      回复
    • 飘
      2019-08-07
      我的加上也不行
      2019-08-07
      回复
    • 最後的我們
      最後的我們
      2019-08-16回复
      在你报错的页面json文件里加。
      2019-08-16
      回复
    查看更多(2)
  • 小肥羊
    小肥羊
    2019-10-18

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

    usingComponents": {} 不能这么做呀

    2019-10-18
    有用
    回复
  • Jeff
    Jeff
    2019-08-19

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

    2019-08-19
    有用
    回复
  • Shint
    Shint
    2019-07-23

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


    2019-07-23
    有用
    回复
  • 宠与崇
    宠与崇
    2019-07-22

    是原生的,我先试试

    2019-07-22
    有用
    回复
  • 胖丫么胖
    胖丫么胖
    2019-07-22

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

    2019-07-22
    有用
    回复 7
    • 宠与崇
      宠与崇
      2019-07-23

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

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