如何将依赖注入AngularJS中的现有控制器

时间:2016-05-16 06:30:11

标签: angularjs dependency-injection

我有一个在body元素上定义的控制器:

app.controller('bodyController', ['$injection1', '$injection2',
    function($injection1, $injection2){
        // doing stuff here
}]);

现在在其他地方,我希望能够向该控制器注入另一个依赖项。伪代码:

app.controller('bodyController').inject(['$injection3', function($injection3){
    // doming more stuff here
});

这有可能吗?

1 个答案:

答案 0 :(得分:3)

你可以在控制器和放大器中注入$injector依赖关系。然后在控制器内部,你可以直接询问其中的其他依赖。

app.controller('bodyController', ['$injection1', '$injection2', '$injector',
    function($injection1, $injection2, $injector){
      var injectorGet = $injector.get;
      //myService will be singleton instance of myService
      var myService = injectorGet('myService');
      //and injectorGet which you can get other dependency too.
}]);