uniapp在开发支付宝小程序时,不可避免使用支付宝插件能力,大部分情况下插件是直接引入使用的,即静态引入,如下图所示
但是有些插件是需要动态加载的,而插件又分为页面插件、组件插件。其中页面插件基本没什么问题,直接使用my.loadPlugin加载后跳转,但是组件插件是不能直接按支付宝文档使用的,支付宝推荐使用‘元组件’component 通过is指定插件名称,但是uniapp的小程序是不支持使用component的,因为uniapp中的is只能使用字符串而且是直接用is的值作为组件名称支持平台,而支付宝端的插件格式为dynamic-plugin://xxx/xxx,是无法直接使用的。
下面是解决方法,主要依据uniapp的小程序自定义组件支持,按照文档创建mycomponents目录并创建自己的组件,这个组件需要按照支付宝小程序语法写,然后.axml中使用component加载插件,具体实现看自己业务
配置完成后,就可以直接在自己页面里面使用了
注意这里一定要用my.loadPlugin先把插件加载完再显示,不然有可能白屏
还有外面使用插件如果需要传参,是直接按照uniapp的语法来的,就是按照正常的组件一样使用
最后最好重新编译并打开项目,不然mycomponents目录可能不会生成