#jquery #jquery-plugins
#jquery #jquery-плагины
Вопрос:
У Меня есть сайт, на котором мне нужно обновить несколько частей сайта при возникновении события. Например, я добавляю задачу в список задач, мне нужно обновить список задач и, возможно, сводку, а что нет.
Я не хочу связывать части сайта друг с другом, поскольку это привело бы к образованию гигантского липкого куска грязного кода.
Подход, который я рассматриваю прямо сейчас, заключается в том, чтобы иметь очередь сообщений, куда я тоже могу отправлять события, и все функции, подписывающиеся на событие, будут выполняться.
Существует ли плагин, у которого уже есть подобная очередь сообщений? Нужно ли мне реализовать ее самостоятельно?
Есть ли лучший способ решить эту проблему без использования плагина?
Ответ №1:
Вы могли бы использовать шаблон pushlish / subscribe. Каждый раз, когда запускается событие, оно публикует информацию в любом виджете на странице, которая подписалась на это событие. Таким образом, вы не связываете триггер события с отображением. Смотрите пример ниже.
http://darcyclarke.me/development/library-agnostic-pubsub-publish-subscribe/
Или вы могли бы использовать что-то вроде pubsubjs. https://github.com/mroderick/PubSubJS
Ответ №2:
Вы могли бы использовать массивы JavaScript и функции push()
и pop()
, где при успешном вызове события событие будет pop()
удалено из стека с использованием метода обратного вызова.