[英]value of factory gets erased after page refresh
這是我的工廠
app.factory('userFactory', function(localStorageService, $http, $rootScope) {
var myUser = {};
myUser.isCrazy = false;
return myUser;
});
當用戶登錄時,在登錄控制器中,我從數據庫中獲取了一些數據,並使用if/else
決定了該用戶是否瘋狂,所以我有
app.controller('loginController', ['$scope', 'localStorageService', '$location','userFactory','$rootScope',
function ($scope, localStorageService, $location, userFactory, $rootScope ) {
userFactory.isCrazy = true;
}
]);
然后,根據userFactory.isCrazy
(也是true / false),在另一個頁面的控制器中顯示/隱藏divs。
app.controller('anotherPageController' ,['$scope', '$filter', '$rootScope', 'userFactory','localStorageService',
function ($scope, $filter, $rootScope, userFactory, localStorageService) {
if(userFactory.isCrazy == true){
$scope.myMessage = true;
}
}
]);
$scope.myMessage
的html是
<div ng-hide="myMessage">
這是我的問題。
登錄后, isCrazy
true。 當我第一次訪問該頁面時,根據anotherPageController
,該消息是隱藏的, isCrazy
仍然為true。 都好。
如果我單擊刷新, isCrazy
將返回false,並且消息不再隱藏。
我在這里想念什么? 為什么isCrazy
無法保持其價值?
謝謝
是的,它不保存值。 為此,您必須至少使用本地存儲或會話存儲來保留這些值。
只需使用該值創建一個cookie。 搜索setCookie API
。 您可以根據需要使用JavaScript或PHP進行操作。 如果您仍然想使用angular js進行操作,請檢查angular-js cookie API 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.