Angular + TypeScript + AMD = duplication?



我已经用Angular做了几个月的开发了,现在我正在调查是否值得把我的开发转到TypeScript。我遇到的一个问题是使用外部模块和注入服务时的重复。例如,我有这样的(简化)代码:

///<reference path="../../../../typings/tsd.d.ts" />
// imports for strong typing
import audioModel = require('app/plugins/audio/audio.model');
export class AudioController {
    public model: audioModel;
    static $inject = ['$scope', '$q', 'AudioModel'];
    constructor(protected $scope, protected $q, protected AudioModel:audioModel) {
        this.model = new AudioModel();
    }
}
AudioModel是在外部模块audio.model中定义的Angular工厂。所以在我看来,我注入了它两次——一次是用Angular,另一次是用TypeScript导入来获得强类型。

在AMD项目中是否有更好的方法来同时使用Angular依赖注入和强类型?

有没有更好的方法在AMD项目中同时使用Angular依赖注入和强类型呢

这是angular 1的一个问题。X依赖注入。Angular模块系统独立于现有的传统浏览器模块系统(例如AMD)。

所以你需要导入它两次。先是Type,然后是DI。

最新更新