将依赖注入AngularJS控制器,可以更简单吗?

时间:2014-07-24 12:22:58

标签: angularjs typescript

在我的app.ts中,我现在有以下代码:

.controller('aboutHelper', ['$scope', 'sharedService', function ($scope, sharedService) {
    var aboutContr = new Controllers.AboutController($scope, sharedService);
}])

Controllers.AboutController 是我的类,它包含我的控制器的实际逻辑。这种方式我必须键入每个依赖三次。这看起来不太好。 有更好的办法吗?

由于

2 个答案:

答案 0 :(得分:4)

在您的AboutController中,您可以定义静态属性$injectread more here

控制器看起来像这样:

module Controllers {

    export class AboutController {

        static $inject = ["$scope", "sharedService"];   

        constructor($scope: IAboutScope, sharedService: ISharedService) {

        }        
    }
}

然后这个控制器将注册角度如下:

app.controller('aboutCtrl', Controllers.AboutController)

答案 1 :(得分:1)

如果您担心增加参数列表,那么您可以使用$ inject.get()