angularjs 自定義map服務


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM