Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Class / доступы по Event (https://javascript.ru/forum/css-html/74415-class-dostupy-po-event.html)

Alex4co 09.07.2018 16:14

Class / доступы по Event
 
Привет всем!

class Test
{
   constructor()
   {
        this.req = new XMLHttpRequest(); 
        this.req.addEventListener("onreadystatechange",this.readyF, false); 
        
        this.param = 5;
    }

    readyF(e)  
    {
          console.log(this); // XMLHttpRequest
          console.log(this.param) // error
    }

}


Понятно не сразу, что при подписке метод ссылается на dispatcher, но как говорится с горем пополам доперли. Как же можно красиво организовать, чтобы в методе readyF были все доступы ( вопрос именно в слове красиво, без self = this и т.п. , или это в принципе нереально ? )

Nexus 09.07.2018 17:02

Почитайте:
https://learn.javascript.ru/bind

Rise 09.07.2018 18:45

class Test{
    constructor() {
        this.req = new XMLHttpRequest();
        this.req.addEventListener("onreadystatechange", this, false);
        this.param = 5;
    }
    handleEvent(e) {
        console.log(this); // { req: XMLHttpRequest, param: 5 }
        console.log(this.param) // 5
    }
}


Часовой пояс GMT +3, время: 16:42.