Resolver Angular 5中未执行Resolve函数

问题描述 投票:0回答:1

由于非常愚蠢的原因,自从今天早上以来我一直处于忙碌状态。这应该可以,但是我不知道是什么阻止了它。无论如何,下面的代码

我的解析器:

export class UserResolver implements Resolve<any> {
   constructor(private fakeApi: FakeApiService) { }
   resolve():Observable<any> {
     console.log('resolver method hit');
     return Observable.empty();
   }
}

我的模块:

 const routes: Routes = [
    {path:'',component:UserComponent,resolve:{users:UserResolver}}
 ]

 const leafManifest:IManifestCollection = [
    {path:'',component:UserComponent}
 ]

不必担心服务或调用组件,因为它们甚至都不会出现在图片中。我只是称呼这条路线,解决方法被击中。但是,resolve方法没有执行,它只是跳转到该方法的关闭并返回到调用组件。换句话说,如果在调试器方法上放置调试器,它将被命中但永远不会进入调试器。看来,它只是跳过了。

因此,如您所见,它在控制台中未显示任何消息,例如“ resolver method hit”。

是,我已经在模块的提供程序中添加了UserResolver。

angular5 angular-resolver
1个回答
0
投票

希望您不要在NgModule下指定解析器。

@NgModule({
  providers: [
    UserResolver 
  ]
})

这里举一个例子:https://alligator.io/angular/route-resolvers/

© www.soinside.com 2019 - 2024. All rights reserved.