方法1如下:
方法1的問題:如果刷新瀏覽器,數據會丟失;
/** * 自定義map服務 */ app.service("map", function() { var data = []; // 保存map值 this.put = function(key, value) { for (var i in data) { // 判斷key對應的值是否存在,若存在則修改對應的值 if (data[i]._key == key) { return data[i]._value = value; } else { data.push({_key: key,_value: value}); } } }; // 通過key值獲取map值 this.get = function(key) { for (var i in data) { if (data[i]._key == key) { return data[i]; } } } // 通過key值刪除map對應的值 this.remove = function(key) { for (var i in data) { if (data[i]._key == key) { return data.splice(i, 1); } } } // 獲取全部數據 this.all = function() { return data; } // 清空map全部數據 this.removeAll = function() { return data.splice(0, data.length); } });
方法2:
/** * 自定義map服務 */ app.service("map", function() { // 保存map值 this.put = function(key, value) { var item = {value: value}; localStorage.setItem(key, JSON.stringify(item)); }; // 通過key值獲取map值 this.get = function(key) { var item = JSON.parse(localStorage.getItem(key)); return item.value; } // 通過key值刪除map對應的值 this.remove = function(key) { localStorage.removeItem(key); } // 獲取存儲的長度 this.size = function() { return localStorage.length; } });
歡迎加入,Java,前端的共同學習【愛問共享編程部落】 479668591