2015-08-28 4 views
0

Я хочу использовать https://github.com/alexcrack/angular-ui-notification для уведомлений. Мне нужны они во всех моих контроллерах. Можно ли ввести «Уведомление» (или «$ log» или что-то еще) во всех моих контроллерах?Ввод услуги во всех контроллерах

+0

Вам просто нужно загрузить службу «Уведомления» в вашем контроллере в качестве зависимости. –

ответ

2

Я думаю, вы могли бы позволить вашим контроллерам наследовать от общего базового контролера. Нечто подобное может работать:

angular.module('extending', []) 

.controller('baseController', function(someService) { 
    this.someService = someService; 
}) 

.controller('extendedController', function($scope, $controller) { 
    angular.extend(this, $controller('baseController', { $scope: $scope })); 

    this.alert = this.someService.alert; 
}) 

.service('someService', function() { 
    this.alert = function() { 
    window.alert('alert some service'); 
    }; 
}); 

HTML

<body> 
    <div ng-controller="extendedController as ex"> 
     <button ng-click="ex.alert()">Alert</button> 
    </div> 
    </body> 

Пример на plunker. Related сообщение на SO. AngularjS extend doc.

+0

Спасибо большое! Ваш ответ очень полезен –

+0

Ничего себе, не знал о функции 'extend', +1 –