2015-06-02 55 views
7

我有一個問題。當我在Chrome上運行我的應用程序時,由於本地存儲的Web瀏覽器,數據是持久的。但是,在模擬器上運行時,如果我終止應用程序,數據將被清除。我已經讀過localstorage這是一個非易失性存儲主要用於存儲簡單的數據。我的應用不需要數據庫,本地存儲綽綽有餘。爲什麼會發生這種情況?離子本地存儲不存在設備

angular.module('ionic.utils', []) 

.factory('$localstorage', ['$window', function($window) { 
    return { 
    set: function(key, value) { 
     $window.localStorage[key] = value; 
    }, 
    get: function(key) { 
     return $window.localStorage[key]; 
    }, 
    setObject: function(key, value) { 
     $window.localStorage[key] = JSON.stringify(value); 
    }, 
    getObject: function(key) { 
     return JSON.parse($window.localStorage[key] || '{}'); 
    }, 
    removeItem: function(key){ 
    $window.localStorage.removeItem(key); 
    }, 
    removeByIndex: function (index) { 
    $window.localStorage.removeItem($window.localStorage.key(index)); 
    }, 
    getByIndex: function (index) { 
    return JSON.parse(($window.localStorage.key(index))); 
    }, 
    clear: function(){ 
     $window.localStorage.clear(); 
    } 

    } 

}]); 
+0

你能分享你的代碼以供參考。 – Hardy

+0

我正在使用此服務。 –

+0

試試$ window.localStorage.setItem(key,value)。 – Hardy

回答

0

修正了它。事實證明,每次你想在設備上運行應用程序時,你都必須執行命令ionic build來獲取所有最近的更改。

1

我對離子和所用的localStorage(簡單的HTML本地存儲功能)

window.localStorage['Invite-Code'] = $scope.passCode; 

上面的代碼工作集在本地存儲器中的值。

var val = window.localStorage['Invite-Code'] || false; 

上面的代碼顯示localstorage值的值,如果存在或不存在則返回值或false。 這裏'邀請代碼'是密鑰