使用resolve :{ key : ResolverService}
解析组件的某些数据时,如果ResolverService
立即返回一些数据(不使用observable或promise),则会按预期将组件加载到UI上。但是,如果解析器返回的是Observable,则即使该Observable获得下一个值,它也无法工作;
关于stackblitz的示例:
https://stackblitz.com/edit/ng-delayed-resolver-issue
在guard和resolver中返回可观察的逻辑是相同的,但是由于某种原因,解析似乎无效。
已经检查了此Router Resolver not rendering component,并没有太大帮助。
对于给定方案的任何帮助,我们将不胜感激。谢谢
答案 0 :(得分:1)
解析器返回的可观察对象必须 complete 。您的工作从未完成,所以导航永远不会发生。
一种更简单的方法来确定可观察到的延迟(将完成)是使用延迟管道:
return of('data from delayed').pipe(delay(1000));