收藏
回答

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

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

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

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

这个的实现逻辑是什么?





回答关注问题邀请回答
收藏

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
    有用
    回复
登录 后发表内容