Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.07.2018, 17:14
Новичок на форуме
Отправить личное сообщение для Alex4co Посмотреть профиль Найти все сообщения от Alex4co
 
Регистрация: 09.07.2018
Сообщений: 1

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 и т.п. , или это в принципе нереально ? )
Ответить с цитированием
  #2 (permalink)  
Старый 09.07.2018, 18:02
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 2,442

Почитайте:
https://learn.javascript.ru/bind
Ответить с цитированием
  #3 (permalink)  
Старый 09.07.2018, 19:45
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 3,978

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
    }
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игра-квест на JS, помогите разобраться в структуре m_lulu Общие вопросы Javascript 1 29.03.2018 15:02
Использование классов в JavaScript devote Ваши сайты и скрипты 70 01.02.2013 16:17
Как работает функция Class godofjavascript Оффтопик 58 17.12.2012 08:49
event + setTimeout fsingle Events/DOM/Window 2 02.05.2012 09:07
как создать event, эмулирующий enter Artanis Events/DOM/Window 3 22.07.2010 02:16