Im Anschluss an diesen reference, Ich versuche, ein neues service
in Winkel zu machen, die eine Nachricht auf Benutzeraktionen zu zeigen, dienen wie add
, edit
, update
, delete
. Was ich zur Zeit geschehen ist,Herstellung Winkelservicearbeiten richtig
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;
}
};
});
Dies ist ein Teil des Codes, die ich in einer anderen Controller, um injizieren will die Nachricht zu erhalten, wenn Benutzer im System grundlegenden CRUD
tun. Ich habe postController
, wo ich versuche, diese flash
Service wie zu injizieren.
//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();
});
});
Jetzt möchte ich, dass flash
Dienst in diesem Controller injizieren und eine Nachricht wie post deleted successfully
Art der Meldung in Bootstrap-Benachrichtigung angezeigt werden soll, sobald die Post Benutzer löschen. Was muss ich noch hinzufügen, damit die Nachricht in meiner Ansicht angezeigt wird? Ich verwende folgenden Code in meinem gemeinsamen Layout der message
<div class="alert" ng-show="flash.get().length">
<b>
Alert!
</b>
<br/>
{{flash.get()}}
</div>
was ein Fehler ?? –
Ich habe 'flash'-Dienst in meinen' postDeleteController' injiziert, aber nichts wurde angezeigt – Sid
Nun, ich sehe nicht, wo Sie irgendetwas in der Warteschlange speichern. Die Methode set() wird im gebuchten Code nie aufgerufen. Außerdem ist die Methode success() schon lange nicht mehr aktuell. Benutze dann(). Sie haben auch nicht den Code des Controllers angezeigt, in den Flash injiziert wird. –