2015-11-19 3 views
3

У меня есть служба, через которую я выполняю контроль доступа в каждой части моего приложения.Создание глобальной службы для модуля AngularJS

В настоящее время у меня много контроллеров, и поэтому у меня очень утомительная задача - вводить сервис вручную в каждый контроллер.

Есть ли какой-либо способ программного обеспечения для каждого контроллера программно? У меня есть только один модуль, и я использую UI-маршрутизатор (если я могу использовать его)

+1

Хорошо. но подумал об этом. до сих пор продолжают вводить его вручную. – micronyks

+0

Не можете ли вы ввести службу один раз в родительский контроллер, прослушать события (например, routeChanges и т. Д.), Которые требуют проверки доступа, а затем проверить права доступа? – Brant

+0

Права доступа не только для состояний, но и не для общего. Это было бы грязно. –

ответ

0
app.run(function (globalService, $rootScope) { 
    $rootScope.globalService = globalService; 
}); 

и $scope.$root.globalService в контроллере.

Это может быть angular.globalService = globalService. Или window.globalService = globalService.

Как форма глобальной переменной, каждая из них фактически сводит на нет преимущества инъекции зависимостей и не может считаться рекомендуемой практикой.