我有一个网站,我需要在事件发生时刷新网站的几个部分。例如,我将一个任务添加到待办事项列表中我需要刷新todo-list,也许是一个摘要,什么不是。
我不想将网站的各个部分相互耦合,因为这会导致一块巨大的粘泥代码。
我现在正在考虑的方法是建立一个消息队列,我也可以发送事件,并且将执行订阅该事件的所有函数。
是否有一个插件有这样的消息队列? 我需要自己实施吗?
有没有更好的方法可以在不使用插件的情况下解决此问题?
答案 0 :(得分:2)
您可以使用pushlish / subscribe模式。每次触发事件时,它都会将信息发布到已订阅该事件的页面上的任何窗口小部件。这样您就不会将事件触发器耦合到显示器。请参阅下面的示例。
http://darcyclarke.me/development/library-agnostic-pubsub-publish-subscribe/
或者你可以使用像pubsubjs这样的东西。 https://github.com/mroderick/PubSubJS
答案 1 :(得分:0)
您可以使用JavaScript数组以及push()
和pop()
函数,其中成功的事件调用将使用回调方法将pop()
事件从堆栈中移除。< / p>