nahkar
@nahkar
frontend developer

Как работает организация связи между модулями Javascript?

Всем привет, решил разобраться как организовать связь между модулями, и наткнулся на статью на хабре но никак немогу понять как она вызываеться и работает, что передается. Подскажите пожалуйста
// Слабая связанность
var Module1 = {
"init": function ($) {
$.on('event', function (e) { // $ - не jQuery, это экземпляр sandbox
console.log(e.data);
});
}
};

var Module2 = {
"someAction": function ($) { // $ - не jQuery
$.trigger('event', 'data');
}
};
  • Вопрос задан
  • 2904 просмотра
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
При вызове метода someAction у модуля модуль инициирует событие event (глобальное событие для всех компонентов которые подписаны на него). В вашем примере модуль Module1 в методе init подписывается на событие и что-то делает при этом.

Читать про шаблон observer и все такое. Важно понять где стоит применять подобный подход а где лучше явно вызвать метод другого модуля.
Ответ написан
effetto
@effetto
.Net разработчик
С целью разбивки клиентского приложения на модули я использую подход AMD. Наиболее популярная реализация данного механизма представлена в RequireJS. Подход AMD в целом ныне очень популярен, потому что малыми силами позволяет реализовать асинхронную загрузку модулей.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы