相关疑难解决方法(0)

有角度的。使用APP_INITIALIZER时路由器DI不起作用

我正在通过APP_INITIALIZER以下方式从服务器预加载应用程序配置AppModule

providers: [
    ConfigService,
    {
      provide: APP_INITIALIZER,
      useFactory: configServiceFactory,
      deps: [ConfigService],
      multi: true
    }
  ],
Run Code Online (Sandbox Code Playgroud)

然后,ApiService从手动注入ConfigService

@Injectable()
export class ConfigService {

  private api: ApiService;

  public constructor(
    private injector: Injector
  ) {

    // Avoid cyclid dependencies, inject manually:
    this.api = injector.get(ApiService);
  }
Run Code Online (Sandbox Code Playgroud)

最后router在注入时是不确定的ApiService

import { Http, Headers, RequestOptionsArgs, Response } from '@angular/http';
import { Router } from '@angular/router';

@Injectable()
export class ApiService {

  constructor(
    private router: Router,
    private http: Http …
Run Code Online (Sandbox Code Playgroud)

angular2-routing angular2-di angular

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

标签 统计

angular ×1

angular2-di ×1

angular2-routing ×1