簡體   English   中英

JavaScript 類上的自定義事件

[英]Custom Event on JavaScript Class

如何創建附加到類對象的事件?

我必須創建一個類,該類具有應在特定時間調用的事件。 該類看起來像這樣,當添加新的類時應該調用事件newMember 有效的是我將自定義事件附加到窗口並調用它,這不是我的目標。

不是 NodeJS。

class Room {
    constructor() {
        this.members = {}
    }
    addMember(data) {
        if (!this.members[data.remotesid]) {
            this.members[data.socket] = data.identity
            //this.dispatchEvent();
        } else {
            console.log('Member already in room')
        }
    }
}

在被告知我需要使用EventTarget擴展我的課程之后。 我現在已經制定了這個可行的解決方案。

class Room extends EventTarget {
    #event;
    constructor() {
        super();
        this.members = {}
    }
    addMember(data) {
        if (!this.members[data.remotesid]) {
            this.members[data.socket] = data
            this.#event = new CustomEvent("newMember", { detail: data });
            this.dispatchEvent(this.#event);
        } else {
            console.log('Member already in room')
        }
    }
}


var room = new Room();

room.addEventListener("newMember", function (e) {
    console.log("newMember event ", e);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM