中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

TypeScript之自定義事件

發布時間:2020-03-11 09:19:18 來源:網絡 閱讀:575 作者:Aonaufly 欄目:開發技術
class MyEvent<T> extends CustomEvent<T> { 
    public static readonly CMD: string = "EVENT_NAME";
    public constructor($type: string , $data: T ) { 
        super( $type , { detail: $data, bubbles: true, cancelable: true, composed: true });
    }
}

class MyDispatch extends EventTarget { 
    private static _instance: MyDispatch;
    public static get Instance(): MyDispatch { 
        if (!MyDispatch._instance) MyDispatch._instance = new MyDispatch();
        return MyDispatch._instance;
    }
    public send<T>($data: T, $type: string = MyEvent.CMD): void { 
        const $event: CustomEvent = new MyEvent<T>($type, $data);
        this.dispatchEvent($event);
    }
}

class Test { 

    public constructor() { 
        MyDispatch.Instance.addEventListener(MyEvent.CMD, this.onEvent as EventListener);
    }
    private onEvent($e: MyEvent<ITest>): void { 
        console.log(`target  ${$e.target}`);
        console.log(`name: ${$e.detail._name} , occupation: ${$e.detail._occupation}`);
    }
}

interface ITest { 
    _name: string;
    _occupation: string;
}

let $test: Test = new Test();
MyDispatch.Instance.send<ITest>({ _name: `Aonaufly`, _occupation: `it` });

TypeScript之自定義事件

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

文山县| 兰西县| 陵水| 环江| 青川县| 科技| 邮箱| 岳普湖县| 巫溪县| 祁东县| 古丈县| 繁昌县| 台南县| 项城市| 仁布县| 海宁市| 合江县| 化德县| 临湘市| 邵阳县| 光山县| 康定县| 丁青县| 安平县| 永年县| 于田县| 武乡县| 玉田县| 灵石县| 秦安县| 富宁县| 六安市| 平山县| 高台县| 烟台市| 莱芜市| 介休市| 伊川县| 镇赉县| 蓝田县| 庆安县|