相关疑难解决方法(0)

Angular 2:根据环境导入服务

根据 angular-cli 项目中的当前环境导入服务的最佳/正确方法是什么?

我已经设置了一个名为 dev-mock 的新环境,我可以调用它...

ng serve --environment=mock
Run Code Online (Sandbox Code Playgroud)

然后我使用 useClass 在模块中设置提供程序

应用程序/app.module.ts ...

import {environment} from '../environments/environment';
import {ApiService} from './api/api.service';
import {MockApiService} from './api/mock/mock-api.service';

@NgModule({
  declarations: [
    AppComponent,
  ],
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule
  ],
  providers: [
    {
      provide: ApiService,
      useClass: (environment.name === 'dev-mock') ? MockApiService : ApiService
    }
  ],
  bootstrap: [AppComponent]
})
Run Code Online (Sandbox Code Playgroud)

这工作正常,然后问题是当我想将它注入另一个服务或组件时我该怎么做,例如......

应用程序/票/ticket.service.ts

import {ApiService} from '../api/api.service'; // *** WHAT AM I TO DO HERE? ***

@Injectable()
export class TicketService {

  constructor(private api: ApiService, private http: …
Run Code Online (Sandbox Code Playgroud)

angular

5
推荐指数
1
解决办法
2446
查看次数

标签 统计

angular ×1