标准版交易组件报HAS NOT INIT PLUGIN, FAIL START REQUEST,has not init plugin

小程序中添加交易组件时,初始化不能正常点开,点开报这个错误

---HAS NOT INIT PLUGIN, FAIL START REQUEST---
has not init plugin

Unhandled promise rejection Error: has not init plugin

经过测试,1.1.26版本能正常使用,后续的版本就报如题的错误,尤其是官方文档指明让使用latest版本,不让更改。

官方教程初始化:

miniShopPlugin.initApp(this, wx)

我是使用的uni-app,在初始化插件的时候传入的参数this可能有问题。

打印后this是vue,肯定this的问题了,怎么获取小程序环境呢,有个方法是

getApp()

于是改成

miniShopPlugin.initApp(getApp(), wx)

还是报错,打印 getApp() 居然是undefined.

查找之后,才知道App.vue中拿不到 getApp() ,需要用 this.$scope 代替。

替换,运行

miniShopPlugin.initApp(this.$scope, wx)

问题解决了。

新版本插件初始化的时候需要保证这里this是小程序app的this,如果你使用了一些小程序框架,此时拿到的this很可能是经过框架封装的,从而导致初始化失败,建议自行打印出当前this看下,取出正确的this进行传入。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值