我正在玩angularjs做一些简单的东西。我想要包含一些实时消息,如PubNub,PubSub或Pusher。 基本上我有它的工作,但它在一些地区似乎太麻烦。也许你可以给我一个更好的方法。角度服务解耦
好了,这是我工作的jsfiddle(与发布订阅伪造)http://jsfiddle.net/canree/dD5VR/
我有外部服务(pubsub
)和它创造的角度服务。 现在,因为我不希望我的应用程序的其他部分依赖于此具体实现,所以我决定创建另一个(inbox
),以存储发送的所有消息pubsub
。而这inbox
将是我的应用程序的依赖项(而不是pubsub
)。
所以我想我的依赖关系为:
controller -> inbox -> pubsub
当pubsub
接收就需要把它添加到inbox
的消息,使控制器能看到它,并做出相应的反应。问题是我不希望这种后向依赖(pubsub -> inbox
)。我想pubsub
通知观察员已收到消息。
我现在拥有的是丑陋的回调注册(pubsub中的收件箱寄存器回调)。我不喜欢它,因为它有很多样板(关于this
处理等)。
我想知道是否有其他方式来连接这些服务?事件(但不必被强迫使用$rootScope
无处不在)?如果是的话,在哪里注册这样的事件处理程序服务可以接收事件吗?
看看提供的小提琴,并建议我如何解决它更好的方式。
“我不希望我的应用程序的其他部分依赖于此具体实现”,然后在不同模块中声明服务。 – mpm