Я пытаюсь создать приложение, используя архитектуру MVC, шаблон «издатель-подписчик» и класс ES6. Я понятия не имею, как поместить addEventListener внутри конструктора, главным образом из-за шаблона «издатель-подписчик» и архитектуры MVC. Я не могу просто добавить прослушиватель событий в конструктор и привязать к нему метод, потому что у меня есть обработчик(), который представляет собой код, на который модель будет подписываться в контроллере. На мой взгляд, я не могу представить логику модели, для этого и нужен контроллер.
Я попробовал несколько вариантов ее установки, но она не работает и выдает ошибку. ошибки. Ошибки, которые я обычно получаю, когда помещаю его в конструктор, заключаются в том, что обработчик не определен, поэтому я создаю пустую переменную обработчика, а затем addEventListener становится неопределенным.
class View {
constructor() {
this.addHandlerAddToWatchList(handler);
}
addHandlerAddToWatchList(handler) {
this.element.addEventListener("click", function (e) {
const btn = e.target.closest(".btn--add-to-watchlist");
if (!btn) return;
const id = btn.dataset.id;
handler(id);
});
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... entlistene
Используя шаблон «Издатель-подписчик» MVC, я понятия не имею, как поместить прослушиватель событий в конструктор класса ⇐ Javascript
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение