And*_*rew 5 angular2-routing angularfire2 angular
我有一条路线,我想等到从firebase获取auth对象.这是我的代码:
路线
{
path: 'random',
component: RandomComponent,
resolve: { auth: AuthService }
}
Run Code Online (Sandbox Code Playgroud)
AuthService
@Injectable()
export class AuthService implements Resolve<any> {
constructor(private af: AngularFire) { }
resolve(): Observable<any> {
return this.af.auth.take(1);
}
}
Run Code Online (Sandbox Code Playgroud)
RandomComponent
export class RandomComponent {
constructor(private route: ActivatedRoute) {
console.log(this.route.snapshot.data);
}
}
Run Code Online (Sandbox Code Playgroud)
很奇怪它记录Object { },所以一个空对象.如果我将AuthService.resolve更改为return Observable.of('whatever'),那么它会记录Object { auth: "whatever" },所以我很确定这部分代码是有效的,只是因为某种原因,angularfire2 auth observable在这种情况下不起作用.(我真的不是一个可观察的专家,所以可能是我做错了什么).
如果我这样做,this.af.auth.take(1).subscribe(auth => console.log(auth));则记录auth对象,以便该部分也正常工作.
那是什么导致了这个问题呢?我究竟做错了什么?
(使用最新的路由器,angular2和angularfire2.)
| 归档时间: |
|
| 查看次数: |
593 次 |
| 最近记录: |