如何通过服务从组件订阅事件发射器?

时间:2017-12-13 13:10:58

标签: angular socket.io observable angular-services eventemitter

在基于Angular 5的{​​{1}} websocket(socket.io)中,我执行以下操作:

Component

因此,每当通过文档发出import { Component } from '@angular/core'; import io from 'socket.io-client'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { title = 'app'; socket: any; latestData: any[]; constructor() { this.latestData = []; } ngOnInit() { this.socket = io('http://localhost:3000'); this.socket.on('connect', function() { console.log('connected'); }); this.socket.on('broadcast', this.handleData); } handleData(data) { this.latestData = data; } } 事件时,我会调用broadcast函数并发出该数据。

但是,我现在想删除对服务的事件处理,并订阅我服务中的方法。

但是,只要this.handleData完成,handleData仍然会被触发。我怎样才能做到这一点?

0 个答案:

没有答案