Мне нужно реализовать стандартный пользовательский интерфейс уведомлений с angular js. Мой подход следующий (упрощенный):
<div ng-controller="MainCtrl">
<div>{{message}}</div>
<div ng-controller="PageCtrl">
<div ng-click="showMessage()"></div>
</div>
</div>
И с контроллером страницы:
module.controller("PageCtrl", function($scope){
counter = 1
$scope.showMessage = function(){
$scope.$parent.message = "new message #" + counter++;
};
});
Это прекрасно работает. Но мне действительно не нравится тот факт, что мне нужно вызвать $scope. $Parent.
Потому что, если я нахожусь в другом вложенном контроллере, у меня будет $scope. $parent. $parent, и это становится быстро кошмаром, чтобы понять.
Есть ли другой способ создания такого глобального уведомления пользовательского интерфейса с помощью angular?