我在我的控制器中使用了依賴注入,如下所示。如何在angularjs中限制依賴注入
.controller('deals_list', function ($scope, global, config, services, dealService, pagination) {
現在應用程序已經成長。依賴性也在增長。我想限制這些注射。那麼是否有辦法限制全球注射或某些東西?
我應該遵循什麼樣的程序?
我在我的控制器中使用了依賴注入,如下所示。如何在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
});
現在,你可以注入Configurations
和AppServices
這至少給一些洞察你的控制器是依賴於。
您是否使用該控制器中的所有服務?如果是這樣,那麼他們需要注入。我發現每個控制器都不可能使用'global'服務,'config'服務以及任何'services'服務...... – Claies
我有幾個CRUD控制器。所以我必須在每個控制器中注入所有服務。 – Namal
也許你可以將它們組合 –