如何限制angularjs中的依赖注入

时间:2015-05-16 04:04:33

标签: angularjs dependency-injection

我在控制器中使用了依赖注入,如下所示。

 .controller('deals_list', function ($scope, global, config, services, dealService, pagination) {

现在应用程序已经成长。依赖性也在增长。我想限制这些注射。那么有没有办法限制全球注射或其他什么?

我应该遵循什么样的程序?

2 个答案:

答案 0 :(得分:2)

var myApp= angular.module('myApp', []);

myApp.run(function ($rootScope, $location, $http, $timeout, YourService) {
    $rootScope.MyService = YourService;
}

将它用于控制器:

myApp.controller('YouCtrl', ['$scope', function ($scope) { 
    // scope inherits from root scope
    $scope.MyService.doSomething();
}]);

答案 1 :(得分:0)

我相信您可以做的是创建一个包含您要使用的所有服务的服务。全球服务就像是真实服务的外观。

然后,选项是在包含所有依赖项的全局服务上创建。或者将这些服务分组的多门面服务

app.service("Configurations",function(global,config) {
  this.global=global;
  this.standard=config;
});

app.service("AppServices",function(services, dealService, pagination) {
  this.services=services;
  // other assigments
});

现在您可以注入ConfigurationsAppServices

这至少可以让您了解控制器所依赖的内容。