ich einen Angular-Dienst haben, wie folgt aussieht:Wie man Daten in Angular Dienst anhalten durch Aktualisierung der Seite
:var lunchrServices = angular.module('lunchrServices', []);
lunchrServices.service('authService', function() {
var user = null;
this.login = function (userEmail) {
user = userEmail;
};
this.logout = function() {
user = null;
};
this.currentUser = function(){
return user;
}
});
ich auf der Hauptseite meiner Anwendung wie so verwenden Sie diesen Dienst auf einem Controller
var lunchrControllers = angular.module('lunchrControllers', []);
lunchrControllers.controller('MainPageController', ['$scope', '$http', '$state', 'authService',
function ($scope, $http, $state, authService) {
$scope.logIn = function() {
$http.post('/api/users/authenticate', {email: $scope.email, password: $scope.password}).
success(function (data, status, headers, config) {
// lines of interest
authService.login($scope.email);
$state.go('users');
}).
error(function (data, status, headers, config) {
$scope.errorMessages = data;
$scope.password = "";
})
}
}]);
Mit dem users
Zustand Anzeige der folgenden (I ui-router
bin mit diesen Steckern in einem ui-view
):
div(class='container')
h1 Welcome {{user}}
// other stuff
Der Controller für diese Seite wie folgt aussieht:
lunchrControllers.controller('UserController', ['$scope', '$http', '$state', 'authService',
function ($scope, $http, $state, authService) {
$scope.user = authService.currentUser();
//other stuff
}]);
Wenn der Benutzer auf dieser Seite durch den Aufruf $state.go('users')
genommen, {{user}}
korrekt ausgefüllt ist.
Das Problem ist jedoch, dass das Aktualisieren der Seite nun {{user}}
leer ist. Wie kann ich die Daten, die im Service gespeichert sind, durch Seitenaktualisierungen erhalten?
Herzlichen Glückwunsch zu Ihrem 20k Post. –
Danke! und jetzt habe ich nichts anderes zu entsperren, so gehe ich ins Bett :) – mkoryak
Lokale Speicherlösung: http://StackOverflow.com/Questions/18247130/How-do-Istore-Data-in-local-Storage-use -angularjs –