【发布时间】:2017-03-27 16:04:54
【问题描述】:
我正在使用APP_INITIALIZER 以下列方式从服务器预加载应用程序配置,AppModule:
providers: [
ConfigService,
{
provide: APP_INITIALIZER,
useFactory: configServiceFactory,
deps: [ConfigService],
multi: true
}
],
然后,从ConfigService手动注入ApiService:
@Injectable()
export class ConfigService {
private api: ApiService;
public constructor(
private injector: Injector
) {
// Avoid cyclid dependencies, inject manually:
this.api = injector.get(ApiService);
}
最后,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
) {
console.log(router, 'router'); // undefined
debugger;
这里是plunker
任何想法如何解决/解决它?
【问题讨论】:
标签: angular angular2-routing angular2-di