相关疑难解决方法(0)

在Angular 2中的多个组件之间共享WebSocket数据的最佳方法是什么?

我开始构建一个应用程序.有很多组件.他们每个人都需要来自1个webSocket的一部分数据.webSocket接收对象的示例:

在此输入图像描述

每个Angular 2组件需要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);
    };
}
Run Code Online (Sandbox Code Playgroud)

我在主要组件中接收数据,并希望使用组件的实例在组件之间共享它.但我认为这是一个坏主意,并且存在更好的解决方案.

javascript components websocket angular

7
推荐指数
1
解决办法
3466
查看次数

标签 统计

angular ×1

components ×1

javascript ×1

websocket ×1