簡體   English   中英

頁面刷新后,工廠的值將被擦除

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM