Angular 4 ngModule注入提供商/服务



在我的app.module.ts

@NgModule({
...
providers: [MyService,
          // providers used to create fake backend
          fakeBackendProvider,
          MockBackend,
          BaseRequestOptions
         ],
bootstrap: [AppComponent]
})

FakeBackendProvider,模拟后卫和BaseRequestoptions适用于模拟的后端。是否可以通过viral.ts文件中的变量注入这些服务?

您可以这样使用它。创建的plunker

//route to environment file
import { environment } from '../../environments/environment';
providers: [MyService,
          // providers used to create fake backend
     {
      provide: SomeSerivce,
      useFactory: authHeadersFactory
    },       
   ],

export function authHeadersFactory() {
  if (environment.prod) {
    return new Mock();
  }
  return new fakeBackend();
}

最新更新