Как повесить обработчик change для метода класса

160
21 сентября 2017, 17:42

Добрый вечер, столкнулся с проблемой привязки обработчика change/click для метода sumMethod класса Create в ECMAScript 6. Примерный псевдокод проблемы:

class Create {
  sumMethod() {
    // тут происходит магия
  }
}
$(".className").on("change", function () {
  sumMethod();
});
Answer 1

Хм, а Вам не кажется что раз это метод класса, то стоит вызывать его у экземпляра (?) класса?

class Create {
  sumMethod() {
    // тут происходит магия
  }
}
let obj = new Create();
$(".className").on("change", function () {
  obj.sumMethod();
});

Как статический метод (без создания экземпляра):

class Create {
  static sumMethod() {
    // тут происходит магия
    // Нет this на экземпляр
  }
}
$(".className").on("change", function () {
  Create.sumMethod();
});

Можно, однако, и функцией - через Function#bind:

class Create {
  sumMethod() {
    // тут происходит магия
  }
}
let obj = new Create();
let sumMethod = obj.sumMethod.bind(obj);
$(".className").on("change", function () {
  sumMethod();
});
Answer 2

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/static

class Create {
  static sumMethod() {
    // ...
  }
}
$(".className").on("change", function () {
  Create.sumMethod();
});
READ ALSO
Создание правильного цикла в событии

Создание правильного цикла в событии

Использую в проекте плагин air-datepickerВ нем есть собственные описанные события

113
Помогите с php7 и GET запросом

Помогите с php7 и GET запросом

Всем привет, руки дошли до 7пхп и тут началосьПроблема с ГЕТ запросом , не хочет работать

250
Почему при utf-8 не работает session_start();

Почему при utf-8 не работает session_start();

Перевел скрипт в utf-8 и перестали работать сесии и стиликак справиться с этим?

232
как можно оптимизировать код, код внутри

как можно оптимизировать код, код внутри

Этот код генерит строки вида … "a_1_4_7"… "a_5_6_10_12"… и так далее, те в строке от 1 до 12 цифр, цифра слева всегда должна быть меньше цифры справа

266