我在控制器中使用了依赖注入,如下所示。
.controller('deals_list', function ($scope, global, config, services, dealService, pagination) {
现在应用程序已经成长。依赖性也在增长。我想限制这些注射。那么有没有办法限制全球注射或其他什么?
我应该遵循什么样的程序?
答案 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
});
现在您可以注入Configurations
和AppServices
这至少可以让您了解控制器所依赖的内容。