我有一个ng-repeat列表。 ng-repeat中的每个项目附近都有一个按钮。当我单击正确存储在localstorage中的按钮对象id时。但是,如果我单击另一个localstorage更改为新的对象ID。有没有办法将对象ID保存到像array这样的localstorage?
我使用此代码
将对象添加到localstorage中localStorage.setItem("mac_id_local", JSON.stringify(mac_id));
我已经在一个函数中使用它了。我必须在if else声明中这样做。如果响应为1,则必须将值存储在localstorage中。如果响应为0,则必须从localstorage中删除值。
if ($scope.response == 1) {
$scope.veriler[index].isFavori = true;
localStorage.setItem("mac_id_local", JSON.stringify(mac_id));
}
else if ($scope.response == 0) {
$scope.veriler[index].isFavori = false;
delete localStorage.mac_id_local;
}
我只想在localstorage中创建数组,例如this => mac_id_local =" 131,154,185,195"
我希望我能正确地告诉我问题。
答案 0 :(得分:0)
您可以使用数组变量并向其添加项目并将其添加到存储中,
$scope.ids= [];
$scope.ids.push(mac_id);
localStorage.setItem("ids", JSON.stringify($scope.ids));
答案 1 :(得分:0)
$scope.items=[];
$scope.items.push(mac_id);
if ($scope.response == 1) {
$scope.veriler[index].isFavori = true;
// storing our array as a string
localStorage.setItem("mac_id_local", JSON.stringify($scope.items));
}
else if ($scope.response == 0) {
$scope.veriler[index].isFavori = false;
delete localStorage.mac_id_local;
}
// retrieving our data and converting it back into an array
var retrievedData = localStorage.getItem("mac_id_local");
var movies2 = JSON.parse(mac_id_local);
答案 2 :(得分:0)
localstorage存储键值对,同时将数据存储到localstorage对象中,访问时应使用JSON.stringify()
和JSON.parse()
。
您可以使用此工厂:
.factory('$localstorage', ['$window', function($window) {
return {
setObject: function(key, value) {
$window.localStorage[key] = JSON.stringify(value);
},
getObject: function(key) {
return JSON.parse($window.localStorage[key] || '{}');
},
}
}])
另外,请记住,在每次setObject调用时,您必须在使用此工厂时设置整个对象(而不仅仅是特定键)。