从websocket事件处理程序调用angularjs控制器

时间:2014-07-22 19:13:35

标签: angularjs events controller websocket

我是angularjs的新手,可以在使用WebSocket连接到后端的应用程序的设计上使用一些指导。当套接字获得onmessage事件时,它应该加载动态视图。在加载视图之前,需要根据一些消息参数构建模型。

那么,从onmessage事件处理程序调用控制器函数是否是一个可接受的角度解决方案,还是有一种更有棱角的做事方式?如果可以接受,我该如何做到这一点?我应该调用路由并将路由参数传递给控制器​​吗?感谢。

2 个答案:

答案 0 :(得分:1)

如果onmessage事件是对客户端请求的websocket服务器响应,则可以使用角度服务$ q使用promise / deferred实现。这是一个很好的解释:http://clintberry.com/2013/angular-js-websocket-service/

如果onmessage事件是来自websocket服务器的推送数据,则可以使用$ broadcast来广播onmessage事件,并使用$ on来控制广播事件。

我有可能对您有帮助的代码。它是使用websocket:https://github.com/mgalela/ngxively

的xively.com REST API的角度服务

答案 1 :(得分:0)

您不会致电控制器。您只需更改到视图的路径并在那里运行初始化逻辑。

这可以通过几种方式完成。如果初始化视图所需的数据很小,则可以将其作为路径参数(也称为状态参数)。

网址如下所示:

http://yoursite.org/theView/theParameter

如果数据量很大,您可以使用两个控制器将注入的服务来共享数据。