收藏
回答

如何获取插件中组件的实例

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 需求 还在开发中 客户端 6.6.7 2.1.1

如下图所示,腾讯视频给出的文档中,自己实现了获取组件实例的接口。

let txvContext = TxvContext.getTxvContext('txv1') // txv1即播放器组件的playerid值

这个的实现逻辑是什么?





最后一次编辑于  2018-06-29  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

1 个回答

  • 道哥-少儿编程城市合伙人
    道哥-少儿编程城市合伙人
    2018-08-01

    这个问题放了好久,最近捡起来,已经搞定了。

    在插件组件里面获取实例并缓存到公共数组里,外面可以通过插件暴露的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

    }


    2018-08-01
    赞同
    回复