从angular2

时间:2017-04-30 06:32:30

标签: angular typescript angular2-services

当我尝试从ConfigAppProviderModule导入测试时,我收到“没有导出成员测试”的错误。我在使用模块中的配置编写服务时犯了什么错误。

import { NgModule ,InjectionToken,Injectable } from '@angular/core';

export const ConfigToken = new InjectionToken<string>('ConfigToken');

class test {
  config:any;
  constructor(config){
    this.config = config; 
  }

  a(){
    console.log("this.config",this.config);
  }

}

const ConfigAppProvider = {
  provide: test,
  useFactory:  (config) => {
    return new test(config);
  },
  deps: [ ConfigToken]
};

@NgModule({
  providers: [ ConfigAppProvider ],
})
export class ConfigAppProviderModule {
  static initializeApp(config) {
    return {
      ngModule: ConfigAppProviderModule,
      providers: [
        { provide: ConfigToken, useValue: config }
      ]
    }
  }
}

1 个答案:

答案 0 :(得分:0)

您没有导出const ConfigAppProvider

export const ConfigAppProvider = {
  provide: test,
  useFactory:  (config) => {
    return new test(config);
  },
  deps: [ CsbaseAppConfigToken ]
};

同样

export class Test 

并且您也没有使用@Injectable()进行装饰。