Inizio a creare un'applicazione. Ci sono molti componenti Ognuno di loro ha bisogno di una parte di dati da 1 webSocket. L'esempio di un oggetto da receiveing websocket:Il modo migliore per condividere dati WebSocket tra più componenti in Angular 2?
Ogni angolare 2 componente necessita 1 campo da receiveing oggetto. È possibile creare 1 servizio, che si connetterà a webSocket, ricevere dati e condividerlo tra tutti i componenti? Penso che sarà una buona soluzione.
ora sto usando il metodo seguente:
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);
};
}
ricevo i dati in un componente principale e voglio condividere tra i componenti che utilizzano le istanze del componente. Ma penso che sia una cattiva idea e esiste una soluzione migliore.
Si potrebbe aggiungere il servizio al vostro ' bootstrap() 'comando in cui si impostano i provider. Quindi, i componenti ottengono il servizio tramite l'integrazione delle dipendenze dal costruttore. Ora puoi utilizzare il servizio in ogni componente che lo ha iniettato. – rinukkusu