初始化期间在angular app中执行功能的顺序

时间:2019-01-16 11:30:30

标签: javascript angular angular-ui-router

我有一个棱角分明的应用程序。我在自己的一个库中使用angular-auth-oidc-client lib,然后使用.forRoot()注入我的应用程序。问题是,当我尝试重新加载某些状态时,AuthGuard尝试调用oidcSecurityService.isAuthorized,但似乎oidcSecurityService.isAuthorized尚不可用,并且该状态未加载。确保在代码到达AuthGuard之前运行oidcSecurityService.setupModule并确保OidcSecurityService.isAuthorizd始终可用的最佳方法是什么。

库代码     @NgModule({

 imports: [
   HttpClientModule,
   AuthModule.forRoot(),

  ],
 providers: [
   HttpClient,
   OidcSecurityService,
  {
    provide: HTTP_INTERCEPTORS,
    useClass: RequestInterceptor,
    multi: true,
  },
 ]
 })
export class LibModule {
static forRoot(): ModuleWithProviders {
   return {
      ngModule: AuthInfrastructureModule,
      providers: [
          AuthService,
          AuthGuard,

      ],
  };
}
}

应用代码

@NgModule({
  imports: [

    BrowserAnimationsModule,
    BrowserModule,
    CommonModule,
    LibModule.forRoot(),

  ],
  providers: [

  ],
   bootstrap: [AppComponent]
 })
 export class AppModule {
 constructor() {
   }
 }

0 个答案:

没有答案