鲁夫的爱

标签存档: js

对 jQuery tiny PubSub 的改进

IN:小小极客   Tags: , ,    评论: 0

最近在做一个项目的时候, 需要用到同事写的一个js 模块, 为了让我写的新模块与之通信, 我一开始用的是旧模块里的一个全局变量. 但是由于历史原因, 这个全局变量不知道啥时候就会被旧模块所修改, 因此遇到了不少Bug. 最后我放弃了共享全局变量的做法, 改用PubSub. 使用PubSub 的好处是减少了对全局变量的依赖, 降低了模块之间的耦合程度, 从而减少了模块高耦合带来的风险.

我之前使用的PubSub 是 jQuery Tiny Pub/Sub, 这几行代码利用了jQuery 的事件api, 实现了相当简练PubSub, 但我遇到了一个缺陷: 在传递数组时有Bug.

$.publish('test',1);       //1
$.publish('test',{a:1});   //{a:1}
$.publish('test',[2,3,4]); //2, it should be [2,3,4] instead
$.publish('test',{arr:[2,3,4]})  //{arr:[2,3,4]}

这个问题让我很头疼, 又无法绕开, 因为这是jQuery 事件api 的写法所致. 随后我决定自己写一个PubSub.

继续阅读 »

09-10
2012

无觅相关文章插件,快速提升流量

loading...