如下图所示,腾讯视频给出的文档中,自己实现了获取组件实例的接口。支付完不点确定报取消。
let txvContext = TxvContext.getTxvContext('txv1') // txv1即播放器组件的playerid值
这个的实现逻辑是什么?
本文来自微信小程序开发者论坛 -微信小程序工厂 http://www.xcxgc.com,转载请保留,开发微信小程序、定制微信小程序来微信小程序工厂网。
网友回复
道哥**回复:
这个问题放了好久,最近捡起来,已经搞定了。
在插件组件里面获取实例并缓存到公共数组里,外面可以通过插件暴露的api根据id获取这个实例。
//缓存实例
attached:function(e) {
api.attachedContext(this.id, this);
},
//销毁实例
detached:function(e){
api.detachedContext(this.id);
}
#暴露的api接口。
var instance = [];
function getCustomeContext(id) {
return instance[id];
}
function attachedContext(id, obj) {
instance[id] = obj;
}
function detachedContext(id) {
instance[id] = null;
}
module.exports = {
attachedContext: attachedContext,
detachedContext: detachedContext,
getCustomeContext: getCustomeContext
}