Как установить некоторую модель/переменную перед каждым вызовом контроллера?Очистить переменную перед каждым вызовом контроллера в AngularJS?
В настоящее время у меня есть следующие услуги, чтобы помочь мне установить сообщения об ошибках на странице (код в LiveScript):
angular.module "project.services",
.factory "Message", ($rootScope) ->
{
error : !(msg) -> $rootScope.error = msg
success : !(msg) -> $rootScope.success = msg
clear : !(msg) ->
$rootScope.error = ''
$rootScope.success = ''
}
, а затем в моем index.html
шаблона:
<div ng-show="error" class="alert alert-error">{{error}}</div>
<div ng-show="success" class="alert alert-success">{{success}}</div>
<div ng-view>
Но для того, чтобы используйте его, я должен вызвать метод clear
в каждый контроллер, в противном случае ошибка остается на экране:
@SomeController = !($scope, $http, Message) ->
Message.clear() # <--- have to do this
... rest of the controller code
if some-error condition
Message.error("Could not do this")
else
Message.success("Success!")
Есть ли способ автоматизировать этот ясный шаг?