从websocket事件处理程序调用angularjs控制器
我是angularjs的新手,可以在使用WebSocket连接到后端的应用程序的设计上使用一些指导。当套接字获取onmessage事件时,它应该加载一个动态视图。在加载视图之前,需要根据一些消息参数构建模型从websocket事件处理程序调用angularjs控制器,angularjs,events,controller,websocket,Angularjs,Events,Controller,Websocket,我是angularjs的新手,可以在使用WebSocket连接到后端的应用程序的设计上使用一些指导。当套接字获取onmessage事件时,它应该加载一个动态视图。在加载视图之前,需要根据一些消息参数构建模型 那么,从onmessage事件处理程序调用控制器函数是一种可以接受的角度解决方案,还是有一种角度更高的方法?如果可以接受,我如何才能做到这一点?我应该调用路由并将路由参数传递给控制器吗?谢谢。您不会呼叫控制器。您只需更改到视图的路由并在那里运行初始化逻辑 这可以通过几种方式实现。如果初始化视
那么,从onmessage事件处理程序调用控制器函数是一种可以接受的角度解决方案,还是有一种角度更高的方法?如果可以接受,我如何才能做到这一点?我应该调用路由并将路由参数传递给控制器吗?谢谢。您不会呼叫控制器。您只需更改到视图的路由并在那里运行初始化逻辑 这可以通过几种方式实现。如果初始化视图所需的数据很小,可以将其作为路由参数(也称为状态参数) URL将如下所示:
http://yoursite.org/theView/theParameter
如果数据较大,则可以使用两个控制器都将注入的服务来共享数据。如果onmessage事件是对客户端请求的websocket服务器响应,则可以使用angular service$q使用承诺/延迟实现。这里有一个很好的解释: 如果onmessage事件是来自websocket服务器的推送数据,则可以在控制器中使用$broadcast来广播onmessage事件,并使用$on来侦听广播事件
我有可能帮助你的代码。这是xively.com REST API使用websocket提供的angular服务:如果后端通过websocket发送数据,而不依赖于用户发起任何操作,我将使用$broadcast to$broadcast,无论您的后端将什么推送到应用程序。然后,您可以从应用程序中的任何位置获取此事件。