После этого reference, я пытаюсь сделать в угловом новый service
, который служит, чтобы показать сообщение на действия пользователя, как add
, edit
, update
, delete
. То, что я сделал в настоящее время,делая работу углового сервиса правильно
meanApp.factory("flash", function($rootScope) {
var queue = [], currentMessage = '';
$rootScope.$on('$locationChangeSuccess', function() {
if (queue.length > 0)
currentMessage = queue.shift();
else
currentMessage = '';
});
return {
set: function(message) {
queue.push(message);
},
get: function(message) {
return currentMessage;
}
};
});
Это часть кода, который я хочу, чтобы ввести в другой контроллер для того, чтобы получить сообщение, когда пользователь может делать основной CRUD
в системе. У меня есть postController
, где я пытаюсь ввести этот сервис flash
.
//considering this example which handles the delete operating
//delete post
meanApp.controller('postDeleteController', function($stateParams, $scope, $http, $location, $state) {
$http.delete('/api/posts/' + $stateParams.id).success(function(response) {
$location.path('/blog/list');
//refresh();
});
});
Теперь я хочу, чтобы внедрить эту flash
службы в этом контроллере и хочу, чтобы показать какое-то сообщение, как post deleted successfully
типа сообщения в бутстраповском оповещении когда пользователь удалить пост. Что еще мне нужно добавить, чтобы показать сообщение в моем представлении. Я использую ниже код в моем общем макете, чтобы показать message
<div class="alert" ng-show="flash.get().length">
<b>
Alert!
</b>
<br/>
{{flash.get()}}
</div>
что ошибка ?? –
Я ввел 'flash' в мой' postDeleteController', но ничего не получилось – Sid
Ну, я не вижу, где вы храните что-нибудь в очереди. Метод set() никогда не вызывается в опубликованном коде. Кроме того, метод success() устарел уже давно. Используйте then(). Вы также не показываете код контроллера, в который вводится вспышка. –