我开始构建一个应用程序。有很多组件。他们每个人都需要1个webSocket的一部分数据。一个receiveing物体的通过的WebSocket的例子:在Angular 2中的多个组件之间共享WebSocket数据的最佳方式是什么?
每个角度2成分需要从receiveing对象1场。是否有可能创建1个服务,它将连接到webSocket,接收数据并在所有组件之间共享?我认为这将是一个很好的解决方案。
现在,我使用的另一个方法:
getConfigCallback() {
this.connectionSockets.telemetry = io(this.config.connections.telemetry);
this.connectionSockets.controlFlow = new WebSocket(this.config.connections.controlFlow.server + ':' + this.config.connections.controlFlow.port);
this.connectionSockets.telemetry.on('telemetry', function(data) {
console.log(data);
});
this.connectionSockets.controlFlow.onopen = function(data) {
console.log('onOpen', data);
};
this.connectionSockets.controlFlow.onmessage = function(data) {
console.log('onMessage', data);
};
}
我在主组件接收数据,并希望使用组件的实例组件之间共享。但我认为这是一个糟糕的主意,并且存在更好的解决方案。
你可以将该服务添加到您的' bootstrap()'命令设置你的提供者。然后在组件中通过依赖注入从构造函数中获取服务。现在,您可以在注入它的每个组件中使用该服务。 – rinukkusu