Привет, я пытаюсь решать проблемы по мере поступления. И пока не понимаю, как мне наладить взаимодействие объектов между собой.
Допустим я создал модуль галереи и попапа.
gallery.jsexport default class Gallery {
// внешнее API
init() {...}
reInit() {...}
}
popup.jsexport default class Popup{
// внешнее API
init() {...}
openPopup() {...}
}
И начинаю использовать свои модули
app.jsimport Gallery from 'gallery';
import Popup from 'popup';
Я создаю несколько экземпляров галерей и 1 попап и хочу, что бы при openPopup(); происходил reInit() у галерей.
let gallery1 = new Gallery();
let gallery2 = new Gallery();
let galleryn = new Gallery();
let popup = new Gallery();
И проблем сразу несколько.
1. Как мне подписаться на метод `openPopup()` всем галереям.
2. Если попапов несколько на странице, то получается `openPopup` должен быть каким-то глобальным событием для всех галерей, а галереи были слушателями (аналогия с DOM Events)
Как вы решаете проблему общения между экземплярами объектов?