我是angularjs的新手,可以在使用WebSocket连接到后端的应用程序设计上使用一些指导。当套接字获得onmessage事件时,它应该加载一个动态视图。在加载视图之前,需要根据一些消息参数构造模型。
所以,它是一个可接受的角度的解决方案,从onmessage事件处理程序调用控制器函数,或者有一个更角的方式做的事情?如果可以接受,我该怎么做呢?我应该调用路由并将路由参数传递给控制器吗?谢谢。
如果onmessage事件是websocket服务器端对客户端请求的响应,你可以使用angular service $q来实现promise/deferred。下面是一个很好的解释:http://clintberry.com/2013/angular-js-websocket-service/
如果onmessage事件是从websocket服务器推送数据,你可以使用$broadcast来广播onmessage事件,在控制器中使用$on来监听广播事件。
我有代码可以帮助你。它是使用websocket的xively.com REST API的angular服务:https://github.com/mgalela/ngxively
不能调用控制器。你只需要改变到视图的路由,并在那里运行初始化逻辑。
这可以通过几种方式完成。如果你需要初始化视图的数据很小,你可以把它作为一个路由参数(又名状态参数)。
URL看起来像这样:
http://yoursite.org/theView/theParameter
如果数据很大,你可以有一个服务,两个控制器都会注入来共享数据