在這裏我有一個服務。其signIn方法將激發另一個Service的方法,該方法返回一個Observable。每個組件都應該能夠訂閱該Observable的結果。所以我創建了一個公共響應變量Observable,它可以從每個組件中訪問。我不認爲我可以直接訂閱signIn,因爲它需要兩個參數,只有一個觀察者會真正知道。Angular 2觀察結果http
問題是,響應是undefined在開頭。所以你不能在另一個組件的構造函數中訂閱它。
那麼我怎麼能訂閱響應,當我不知道數據何時到達?有任何想法嗎?
export class AuthService{
public response:Observable<any[]>;
constructor(private httpService:HTTPService){
this.response = new Observable();
}
signIn(user:String, password:String){
this.response = this.httpService.query({user: user, pass: password})
.map((r: Response) => r.json());
}
}
這是AuthComponent方法,其中用戶名和密碼都來自
onSubmit(f:NgForm){
this.authService.signIn(f.value.user, f.value.password);
}
」。什麼數據? 'user'和'password'從哪裏來? –
@Günter用戶和密碼來自組件。數據來自http get。 –