2017-07-16 57 views
0

我試圖通過LocalStorage跟蹤一些值的狀態。我在服務中初始化它,並在控制器中相應地使用/修改它,使用set和get函數。 問題在於頁面重新加載時。這就是爲什麼最初我決定首先使用localStorage的原因。由於我在服務中初始化變量,每次頁面重新加載時,localStorage中的變量值也是如此。角度刷新後的持久localStroage變量

我的服務:

AuthService.$inject = ['$q', '$http', 'LocalStorage', 'CONFIG']; 
function AuthService($q, $http, LocalStorage, CONFIG) { 
    LocalStorage.set("isloggedin", false); 
}); 

由於這只是測試的本地存儲的使用,我只是初始化並打印的價值,所以我真的不認爲一些其他的代碼負責該變量變爲假。

我也嘗試使用根範圍(儘管許多建議不要),並且寧願不嘗試其他任何事情,直到我有本地存儲的事情想通了。那麼有沒有辦法讓本地存儲中的值持久化?

+0

不確定是什麼問題? 'LocalStorage'引用'window.localStorage'嗎? – guest271314

+0

你真的需要爲此使用角度模塊嗎?它建在Javascritp中,不需要外部庫。本地存儲是永久性的,但每個瀏覽器的行爲都不相同,例如,Mozilla實現它就像一個cookie和Chrome一樣。這樣說,你不應該嚴重依賴本地存儲,也不應該存儲任何敏感信息,因爲它可以從客戶端輕鬆操縱。 – Adriani6

+0

@ Adriani6我正在玩一個現有的移動應用程序離子項目。雖然它包含了一個好的結構,但根本沒有功能。我不會說謊,並且說我明白所有事情都是確切的,但這很有趣,所以我正在嘗試在其中構建一些基本功能。 (很少存在)邏輯已經可以與角度js一起工作。但是,如果存儲登錄狀態或其他需要持久化的數據,我將不勝感激。 –

回答

0

好吧,我真的很討厭在問題發佈5分鐘後找出答案,我仍然不確定這是正確答案還是最有效的解決方案。但這就是我所做的和它的工作。

本地存儲變量的初始聲明顯然在角度js中是不必要的。您只需在需要時設置這些值,即使重新加載後它們也會繼續。

無論如何,作爲一個新手,我會歡迎每一個關於這篇文章的建議,解釋,問題或評論。