2016-11-27 257 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值時,服務被調用我有我想要的數據 –