Я хочу использовать https://github.com/alexcrack/angular-ui-notification для уведомлений. Мне нужны они во всех моих контроллерах. Можно ли ввести «Уведомление» (или «$ log» или что-то еще) во всех моих контроллерах?Ввод услуги во всех контроллерах
0
A
ответ
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 –
Вам просто нужно загрузить службу «Уведомления» в вашем контроллере в качестве зависимости. –