Angular 路线不';t在角度4中启用分解器时加载

Angular 路线不';t在角度4中启用分解器时加载,angular,typescript,routing,angular-ui-router,angular2-routing,Angular,Typescript,Routing,Angular Ui Router,Angular2 Routing,各位!! 我的解析器有个奇怪的问题。当我从我的路线上评论出来时,一切都很好。但当我添加它时,它只是阻止了一切。 我的路线配置如下: { path: '', resolve: {results: HotelsSearchResolver}, component: EntrySearchComponent, runGuardsAndResolvers: 'paramsOrQueryParamsChange' } constructor(private route: Activate

各位!! 我的解析器有个奇怪的问题。当我从我的路线上评论出来时,一切都很好。但当我添加它时,它只是阻止了一切。 我的路线配置如下:

{
  path: '',
  resolve: {results: HotelsSearchResolver},
  component: EntrySearchComponent,
  runGuardsAndResolvers: 'paramsOrQueryParamsChange'
}
constructor(private route: ActivatedRoute) { 
  route.data.pluck('results').subscribe(console.log)
}
我的解析器在这里:

constructor(private searchService: SearchService,
          private store: Store<ApplicationState>) { }

resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot):
  Observable<SearchResultModel> {

  console.log('resolver fired!');
  const key = route.queryParams['key'];
  console.log(key);

  return this.store
    .select(appState => appState.searchState)
    .do(console.log)
    .map(searchState => searchState.results[key])
    .do(console.log)
}
我看到了除EntrySearchComponent中的一个以外的所有console.log。当然,我在AppModule中将解析器添加到我的提供者中。有什么建议吗?有什么问题吗


谢谢你的帮助

resolve是一个值数组,像这样尝试resolve:[HotelSearchResolver],@Sreemat,我已经尝试过了,并且得到了相同的结果:(可以在我的帖子中添加Resolver的代码,还有什么可能更方便吗?我很想知道这是如何重新解决的……如果是的话