在我的 Ionic 应用程序中,我添加了插件“ngStorage”,它带有一些演示代码:
var add = function (thing) {
$localStorage.things.push(thing);
}
这完全按照说明工作。我add("foo")
做,做getAll()
,价值就在那里。我删除了add()
,但保留了getAll()
,我仍然有值“foo”(如预期的那样)。
这对我来说不是很有用,我想用钥匙访问它,所以我做了以下事情:
var addByKey = function (key, value) {
$localStorage.things[key] = value;
// Or, I've also tried:
$localStorage.things.key = value;
}
当我做addByKey("foo","bar")
然后getAll()
我得到我想要的值。当我删除addByKey()
并重新加载时,我希望它仍然记得设置的信息,但它不存在。但是,通过add()
函数的第一次尝试仍然存在,“foo”仍然存在(意味着数组没有重置)。
如何制作键->值类型的结构?
如果它有用:
.factory ('StorageService', function ($localStorage) {
$localStorage = $localStorage.$default({
things: []
});
var _getAll = function () {
return $localStorage.things;
};
var _add = function (thing) {
$localStorage.things.push(thing);
}
var _addByKey = function (thing, value) {
$localStorage.things[key] = value;
// Or, I've also tried:
$localStorage.things.key = value;
}
return {
getAll: _getAll,
add: _add,
addByKey: _addByKey
};
})