Каким образом вы реализуете слабое связывание в JavaScript?

Давным-давно я прочитал статью про слабое связывание. Тогда же мной был написан мини-велосипед, чтобы это связывание реализовать для произвольных объектов (а не только DOM). Так я и пользуюсь этим велосипедом по сей день.



Но ведь, наверняка, вы пользуетесь каким-то более совершенным и продвинутым способом. Например, знаете как реализовать такое связывание в jQuery или с помощью какого-то специфичного мини-фреймворка.



Каким способом реализуете слабое связывание вы, и чем он хорош?
  • Вопрос задан
  • 3370 просмотров
Пригласить эксперта
Ответы на вопрос 4
@spbcypher
в Dojo можно реализовать через топики (dojo/topic)
синтаксически выглядит так
 topic.subscribe("system/event", function(evt){
    console.log("received:", evt.msg);
 });
/* ... */
 topic.publish("system/event",{
    msg: "возникло событие bla-bla-bla", 
    code: 17
 });
Ответ написан
Комментировать
vermilion1
@vermilion1
jQuery — слушаем / тригерим

Backbone — создается объект, который наследует Backbone.Events:

var app = {}; _.extend(app, Backbone.Events)

Слушаем: app.on('eventName', handler)
Тригерим: app.trigger('eventName'[, params… ])

Если вы используете Backbone — используйте второй, в противном случае — первый.
Можно еще свой велосипед изобретать, но это пустая трата времени, все уже придумано и работает.
Ответ написан
Комментировать
@leshaogonkov
Frontend Developer
Для jQuery можно, например, gist.github.com/661855
Ответ написан
@idoroshenko
Я недавно писал демо MVVM приложение, использовал такой вот компонент:
github.com/imdor/vm_test/blob/master/code/eventmanager.js
Я его инъецирую в необходимый объект а дальше всё очень просто.
Кстати, вполне показательная демка как он работает:
github.com/imdor/vm_test/
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы