打字稿写作 angular $httpprovider defaults

Typescript writing angular $httpprovider defaults

我正在尝试在 TypeScript 中编写全局 angular $httpprovider 默认值。这是我的代码,我目前拥有的代码。

export class JSONDateParser {
    private httpProvider:any;
    public static $inject = [
        $httpProvider
    ];
    constructor($httpProvider:any) {
        console.log("Json Date Parser Defaults");
        this.httpProvider = $httpProvider; // This gives me runtime error 
                                           // as this is a referencing angular.
    }
}

// here is my reference registering this
app.config(JSONDateParser);
  1. 如何在 Typescript 中编写 angularjs httpProvider 默认值?
  2. 还有我如何在 Typescript 中为构造函数应用 lambda 语法。
  3. 如果我将 httpProvider 变量分配为 ng.IHttpProvider 类型,编译器会抱怨 this.httpProvider.defaults.transformResponsetransformResponse 未解决。我在 angular.d.ts (1.2.x) 的类型定义中看到它没有定义,但它应该在那里吧?我错过了什么吗?

在此先感谢您的帮助。

我们需要稍微调整语法:

// define parser
export class JSONDateParser {

    constructor(private $httpProvider:any) {
        console.log("Json Date Parser Defaults");
    }
}

// register it
app.config(['$httpProvider', ($httpProvider) => new JSONDateParser($httpProvider)]);

Angular .config() 不如 .service().controller() 灵活。

所以我们必须将所有参数传递给初始化箭头函数内的控制器。我还使用了数组表示法,这是一种方式 - 以后不会因缩小

而受苦

此外,如果我们将参数定义为私有:

constructor(private $httpProvider:any) {
...

编译器将创建一个字段并分配它,以便稍后我们可以做 this.$httpProvider