我有一个 firebase 设置应用程序,需要在相关组件呈现之前获取集合中的所有文档。
数据来自正常订阅
this.db.getCountryList().subscribe(countryList => this.countryList = countryList); //working, I have the country list now
但是当我使用像下面这样的解析器时,它不会解析数据或什么也没有发生。
@Injectable()
export class CountryListResolver implements Resolve<Country[]> {
constructor(private db: DatabaseService) { }
resolve(): Observable<Country[]> {
return this.db.getCountryList();
}
}
服务
getCountryList(): Observable<Country[]> {
return this.db.collection<Country>(this.countryPath,ref => ref.orderBy('name', 'asc')).valueChanges();
}
路由
{ path: 'geo', component: GeographicalDataComponent, resolve: {countryList: CountryListResolver } },
零件
this.route.data.subscribe(data => {
this.countryList = data['countryList'];
});
并在根模块中注册了我的解析器,其他非 Firebase 解析器工作正常。
为什么此设置解析程序不起作用?
版本
火力基地:4.11.0
角火2:^5.0.0-rc.6.0
角度:^5.2.0