如何在 angularjs 中限制依赖注入

how to limit dependency injections in angularjs

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

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

现在应用程序已经发展壮大了。依赖性也在增长。我想限制这些注射。那么有没有办法限制全局注入什么的?

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

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();
}]);

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

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

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

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