如何使用angular.d.ts中的ES6模块语法从TypeScript文件导入angular.IInjectorService?
编辑:我真正想知道的是如何在没有完全符合条件的情况下使用IInjectorService
。换句话说,我想这样做:
class TestCtrl {
constructor($injector: IInjectorService) {...}
}
而不是:
class TestCtrl {
constructor($injector: ng.auto.IInjectorService) {...}
}
目前,我正在以内部模块方式进行。像这样:
///<reference path="../path/to/typeDefinitions/angularjs/angular" />
import IInjectorService = ng.auto.IInjectorService;
class TestCtrl {
constructor($injector: IInjectorService) {...}
}
我的问题是,有没有ES6方法来实现这一目标?例如,类似于以下伪代码:
import {IInjectorService} from '../path/to/typeDefinitions/angularjs/angular';
class TestCtrl {
constructor($injector: IInjectorService) {...}
}
答案 0 :(得分:1)
它位于auto
模块下,输入为IInjectorService
你可以像这样使用它:
class TestCtrl {
myReference: any;
constructor($injector: ng.auto.IInjectorService){
myReference = $injector.get('name');
}
}
答案 1 :(得分:1)
以下内容可行:
import {auto as ngAuto} from "angular";
var foo:ngAuto.IInjectorService;
但是我想说auto
是一个糟糕的决定(但是I
前缀也是如此)。当角度定义被写入时,TypeScript是新的,并且由于角度的普及,我们没有机会将其重构为更好的角色。