爱编程吴
爱编程吴
  • 发布:2020-07-10 10:08
  • 更新:2022-01-18 17:58
  • 阅读:2186

【报Bug】支付宝小程序官方插件事件调用报错

分类:uni-app

产品分类: uniapp/小程序/阿里

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 10 1909

HBuilderX类型: 正式

HBuilderX版本号: 2.7.14

第三方开发者工具版本号: 支付宝小程序开发工具 1.12.15

基础库版本号: 1.21.0

项目创建方式: HBuilderX

操作步骤:

插件使用可以参考文档:连接地址
@change事件会报'事件信息不存在'警告。

预期结果:

正常调用@change中的方法

实际结果:

会报'事件信息不存在'警告,并且方法不会被调用。

bug描述:

支付宝小程序官方插件"支付宝小程序消息订阅插件",其中有个onChange事件,返回的信息中没有dataset数据,触发后会报'事件信息不存在'警告。
插件使用可以参考文档:连接地址

查看代码后,发现uni小程序调用对应的方法是经过dataset中的event-opts来判断,但这个插件返回的事件信息中不携带dataset,所以导致的出错。希望官方能添加对缺少dataset的事件的支持。
ps:目前我的临时解决方案,是借用页面生命周期周期中的onResize来当依托。尽量先实现功能。

2020-07-10 10:08 负责人:DCloud_UNI_HT 分享
已邀请:

最佳回复

DCloud_UNI_HT

DCloud_UNI_HT

在 onLoad 中 添加如下代码,看看是否可以生效
this.$scope. onChange = this. onChange.bind(this)

  • 爱编程吴 (作者)

    这个方法可以运行的,谢谢

    2020-07-20 16:49

  • DCloud_UNI_HT

    回复 爱编程吴: 先这样解决一下,后续会有优化

    2020-08-10 14:55

  • 前端小杂工

    我使用别的支付宝插件也遇到这个情况了,onAuthorizeClose 也返回“事件信息不存在”,加上了 “this.$scope.onAuthorizeClose = this.onAuthorizeClose.bind(this)” 也不行

    2020-12-29 10:26

  • z***@outlook.com

    回复 前端小杂工: 请问找到解决方法了吗

    2021-01-17 19:21

  • z***@outlook.com

    你好,我也遇到了这个问题,请问有办法解决吗

    2021-01-17 19:53

  • 1***@qq.com

    回复 z***@outlook.com: 请问最后解决了吗,我也遇到了这个问题

    2021-10-20 16:11

  • 1***@qq.com

    回复 DCloud_UNI_HT: 我在调用支付宝其他插件的时候,遇到了这个问题,用this.$scope. onChange = this. onChange.bind(this)这个方法没有解决,请问还有其他解决方案吗

    2021-10-20 16:12

  • d***@mei1.com

    回复 1***@qq.com: 模板这样写 onChange="onChange" ,不要写@change

    2021-11-08 10:48

DCloud_UNI_GSQ

DCloud_UNI_GSQ

参考:https://ask.dcloud.net.cn/question/137988

该问题目前已经被锁定, 无法添加新回复