方法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
