這裏是我的代碼:角2訂閱服務事件
App.component
ngOnInit() {
this.favoritesServ.addFavoriteEvent
.subscribe(data => this.name = data)
}
Service
addFavoriteEvent = new EventEmitter();
pushData(value) {
this.addFavoriteEvent.emit(value)
}
這裏是我的代碼:角2訂閱服務事件
App.component
ngOnInit() {
this.favoritesServ.addFavoriteEvent
.subscribe(data => this.name = data)
}
Service
addFavoriteEvent = new EventEmitter();
pushData(value) {
this.addFavoriteEvent.emit(value)
}
使用你的目的的觀察或承諾。
此外,根據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);
}
你的組件可能保持不變。
沒有雪茄,通過transpile,但當我嘗試調用pushData時,我得到: 無法讀取未定義的屬性'next' –
那麼您的數據未分配在前面的步驟 – lastWhisper
當我console.log值時,服務被調用我有我想要的數據 –
...你有問題嗎? – jonrsharpe
儘管訂閱 –
,我會做什麼錯誤請給出一個[mcve],它實際上解釋了您遇到的問題。現在你甚至不會告訴我們你爲什麼認爲有什麼不對。 – jonrsharpe