在useFactory上的AppConfig类型上不存在错误“属性'initializeData'

时间:2019-05-17 05:15:50

标签: angular7

我正在从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 { }

这是我的服务。

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 :(得分:0)

我在参数中购买了服务,已解决问题。我更新的块是:

export function initializeApp(service:AppConfig) { //getting service object in param
    return () => service.initializeData();
}