【发布时间】:2017-03-10 16:47:15
【问题描述】:
我在 Angular2 中扩展 BaseRequestOptions 来为每个请求添加标头。我还有一个 Config 类,它提供基于域的键/值对,我需要将其注入到派生类中:
import { BaseRequestOptions } from '@angular/http';
import { Config } from '../../config/configuration';
export class DefaultRequestOptions extends BaseRequestOptions {
constructor(private config: Config) {
super();
Object.keys(this.config.api.headers).map((key) => {
this.headers.append(key, this.config.api.headers[key]);
});
}
}
在我的模块中,我这样指定提供者:
@NgModule({
. . .,
providers: [
. . .,
{ provide: RequestOptions, useClass: DefaultRequestOptions }
]
})
. . .
我遇到的问题是this.config 在DefaultRequestOptions 中是undefined。我还在其他类中使用Config 类作为注入依赖项,因此我确信它按预期工作,如果我手动设置this.headers 的值,一切正常。
我做错了什么会导致配置在DefaultRequestOptions 中未定义?
【问题讨论】:
-
这个问题的答案大约是 3/4:angular.io/docs/ts/latest/guide/dependency-injection.html。
标签: angular typescript dependency-injection