получение ошибки «Свойство initializeData» не существует в типе AppConfig` в «useFactory» - PullRequest
0 голосов
/ 17 мая 2019

Я получаю данные из службы на APP_INITIALIZER, но получаю ошибку как

Property 'initializeData' does not exist on type of AppConfig

Не знаю, в чем тут проблема. кто-нибудь поможет мне?

вот мой файл модуля:

import { AppConfig } from "./shared-components/auth/AdalService";



import { AppComponent } from './app.component';
import { RoutesModule } from './routes/routes.module';
import { SignInComponent } from './shared-components/user/sign-in/sign-in.component';

export function initializeApp() {
    return () => AppConfig.initializeData(); //getting error here
}


@NgModule({
  declarations: [
          AppComponent,
          SignInComponent
    ],
  imports: [
  BrowserModule,
  AngularFontAwesomeModule,
  MsAdalAngular6Module,
  TranslateModule.forRoot({
    loader: {
      provide: TranslateLoader,
      useFactory: (createTranslateLoader),
      deps: [HttpClient]
    },
    isolate: true
  }),
  SharedModule,
  HttpClientModule,
  iboCalendarModule,
  RoutesModule,
  // HttpClientInMemoryWebApiModule.forRoot(EventData),
  StoreModule.forRoot({}),
  EffectsModule.forRoot([]),
  StoreDevtoolsModule.instrument({
    name:'IBO App',
    maxAge:25
  })
  ],
  providers: [
    {
      provide: APP_INITIALIZER,
      useFactory: initializeApp,
      multi: true,
      deps: [AppConfig, SignInComponent ]
    },
    MsAdalAngular6Service,
    {
      provide: 'adalConfig',
      useFactory: getAdalConfig,
      deps: []
    },
    {
      provide: HTTP_INTERCEPTORS,
      useClass: InsertAuthTokenInterceptor,
      multi: true
    }
  ],

  bootstrap: [AppComponent]
})
export class AppModule { }

Вот мой сервис.ts:

import { Injectable, OnInit } from '@angular/core';
import { ShareOption } from "./../user/sign-in/sign-in.component";
import { Store, select } from '@ngrx/store';
import { StateShared } from "./../models/models";

@Injectable({
    providedIn: 'root'
})
export class AppConfig  {

    constructor(){}

    initializeData() {
        return new Promise((resolve, reject) => resolve(true));
    }

}

1 Ответ

0 голосов
/ 17 мая 2019

Я купил сервис по параметру, исправил проблему. мой обновленный чанк:

export function initializeApp(service:AppConfig) { //getting service object in param
    return () => service.initializeData();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...