0
我在我的angular2服務中使用EventEmitter發射事件。但是這個事件並沒有被我的組件所捕獲。在服務中定義的angular2事件沒有被捕獲到組件
我的服務(文件 - 'app.service.ts'):
import {EventEmitter, Injectable, OnInit} from "angular2/core";
@Injectable()
export class AppService{
private _event:EventEmitter<string> = new EventEmitter();
ngOnInit(){
setTimeout(() => this._event.emit("hello"),1000);
}
getEventRef(){
return this._event;
}
}
我的組件(文件是」 ./app.component.ts'):
import {Component, OnInit} from "angular2/core";
import {AppService} from "./app.service";
@Component({
selector: 'my-app',
template: '<h1>App</h1>',
providers: [AppService]
})
export class AppComponent implements OnInit{
constructor(private _service:AppService){}
ngOnInit(){
_service.getEventRef()
.subscribe(res => alert(res));
}
}
但我沒有得到我應該獲得組件的警報。我不確定該服務是否使用.emit api觸發事件。
您好,我想用觀測量也不想使用EventEmitter。但是我無法獲得有關如何使用Observable的適當文檔。你可以通過一些鏈接回答我可以學習如何使用angular2的rc1版本實現Observables嗎? –
我刪除了ngOnInit。仍然不能使用EventEmitter。 –
你用'constructor'替換'ngOnIniy'嗎? FYI科目是可觀察的;-)我添加了一個原始可觀察的樣本。我相應地更新了我的答案...... –