【发布时间】:2017-02-20 15:31:27
【问题描述】:
这里我有一个服务。它的 signIn 方法将触发另一个返回 Observable 的 Service 的方法。每个组件都应该能够订阅该 Observable 的结果。所以我创建了一个公共响应变量作为 Observable,可以从每个组件访问。我不认为我可以直接订阅登录,因为它需要两个参数,只有一个观察者会真正知道。
问题在于响应开头未定义。所以你不能在另一个组件的构造函数中订阅它。
那么,当我不知道数据何时到达时,如何订阅响应呢?有什么想法吗?
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。
标签: angular