Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ES6 JavaScript中从对象发出自定义事件_Javascript_Events_Event Handling - Fatal编程技术网

如何在ES6 JavaScript中从对象发出自定义事件

如何在ES6 JavaScript中从对象发出自定义事件,javascript,events,event-handling,Javascript,Events,Event Handling,我有一个自定义对象,我希望能够发出和侦听自定义事件 类似以下简单示例: class My_Obj{ constructor(){ this.val = 7; } doSomething(){ if (this.val <= 0){ //Emit "done" event } else{ this.val--; }

我有一个自定义对象,我希望能够发出和侦听自定义事件

类似以下简单示例:

class My_Obj{
    constructor(){
        this.val = 7;
    }

    doSomething(){
        if (this.val <= 0){
            //Emit "done" event
        }
        else{
            this.val--;
        }
    }
}

/* Somewhere else in the code */

let newObj = new My_Obj();
newObj.addEventListener('done', ()=>{console.log("Finished")});
class My_Obj{
构造函数(){
这个值=7;
}
doSomething(){
if(this.val{console.log(“Finished”)});
我看到的大多数示例都使用NodeJs、JQuery或不使用对象和类。我知道有一种方法可以创建
让myEvent=new Event('done')
,但我不确定在使用类时将其放在何处。

let event=新事件(“完成”);
类MyClass{
构造器(x){
这个.x=x;
this.domObj=document.createElement(“div”);
}
doSmth(){
如果(这个.x
let event=新事件(“完成”);
类MyClass{
构造器(x){
这个.x=x;
this.domObj=document.createElement(“div”);
}
doSmth(){

如果(这个.x似乎不起作用。没有错误或任何东西,但我的回调没有运行。如果我从另一个文件导入该类,这会影响事情吗?很难回答,因为我看不到你的代码,所以我建议你像这样制作自己的发射器或smth,因为我的解决方案在这种情况下是非常错误的。这似乎不起作用。没有错误或任何东西,但我的回调没有运行。如果我从另一个文件导入该类,这会影响事情吗?很难回答,因为我看不到您的代码,所以我建议您制作自己的发射器或smth,因为我的解决方案在这种情况下是非常错误的。您可以自己实现回调机制,也可以使用回调机制“我知道有一种方法可以创建
let myEvent=new event('done')
”-这里的
event
指的是什么?@Bergi我不知道,这里说的就是:那一页是关于分派(定制)的DOM元素上的事件,而不是任意对象上的事件。例如,它在nodejs中不可用。要么自己实现回调机制,要么使用许多事件发射器库中的一个。“我知道有一种方法可以创建
让myEvent=new event('done')
”-这里的
Event
指的是什么?@Bergi我不知道,只是这里说的:该页面是关于在DOM元素上调度(自定义)事件,而不是在任意对象上。例如,它在nodejs中不可用。