2016-11-27 75 views
-2

这里是我的代码:角2订阅服务事件

App.component

ngOnInit() { 
    this.favoritesServ.addFavoriteEvent 
     .subscribe(data => this.name = data) 
} 

Service

addFavoriteEvent = new EventEmitter(); 
pushData(value) { 
    this.addFavoriteEvent.emit(value) 
} 
+0

...你有问题吗? – jonrsharpe

+0

尽管订阅 –

+0

,我会做什么错误请给出一个[mcve],它实际上解释了您遇到的问题。现在你甚至不会告诉我们你为什么认为有什么不对。 – jonrsharpe

回答

-2

使用你的目的的观察或承诺。

此外,根据Angular2风格指南,不要缩写类名称或属性。

一个非常简单的例子是:

服务:

private observer; //an observer that 'emits' values to the Observable 
addFavoriteEvent : Observable<any> = new Observable<any>(observer => this.observer = observer); 
//create an instance of an Observable and assign the created observer to our local observer for easy re-usage. 


pushData(value) { 

    this.observer.next(value); 
} 

你的组件可能保持不变。

+0

没有雪茄,通过transpile,但当我尝试调用pushData时,我得到: 无法读取未定义的属性'next' –

+0

那么您的数据未分配在前面的步骤 – lastWhisper

+0

当我console.log值时,服务被调用我有我想要的数据 –