2017-06-02 62 views
0
var mara = [{"name":"zach", "age":"27"}];  
var marathon2 = [{"ticketDetails" : [mara]}]; 
localStorage.setItem("ticket_marathon2",JSON.stringify($scope.ticket_marathon2));  
var details2 = JSON.parse(localStorage.getItem("ticket_marathon2"));  
console.log("data2",details2); 
+0

如果有的话不起作用?它会在控制台中抛出错误吗? – Kaiido

+0

那么问题是什么?看起来像你反对数学模型 – Sabik

+0

@sabik当我运行这个数组在“ticketDetails”:[马拉]是正确的,但是当我保存n本地存储数据去 –

回答

0

你有var mara = [{"name":"zach", "age":"27"}]; - 定义为一个对象的数组。

之后:var marathon2 = [{"ticketDetails" : [mara]}];

指出 “ticketDetails” 与内部产生的数组的数组:

[{ “ticketDetails”:[[{ “名称”: “扎克” .... }]]}]?

也许删除[],除非是故意的。

另一件事,尝试将mara数组串起来,然后将它作为对象的值添加并将它们串在一起。

0

试试这个:

var mara = [{"name":"zach", "age":"27"}]; 
var marathon2 = [{"ticketDetails" : mara}]; 

localStorage.setItem("ticket_marathon2",JSON.stringify(marathon2)); 

var details2 = JSON.parse(localStorage.getItem("ticket_marathon2")); 

alert(JSON.stringify(details2[0].ticketDetails[0].name)); 
+0

没有工作,我已经尝试 –

+0

您是否已将'$ localStorage'注入到控制器? –

+0

该阵列出现在第一个控制台上,但当第二个控制台因此我可以认为它没有正确保存到本地存储时,它已经消失 –

0
localStorage.setItem("ticket_marathon1", angular.toJson($scope.ticket_marathon1)); 

var details1 = angular.fromJson(localStorage.getItem("ticket_marathon1")); 

注意:您不需要注入$ localStorage的其默认的HTML5存储。

+0

而不注入'$ localStorage'到控制器,这是不可能的。 –

+0

@SantoshJadi检查出这个小提琴https://jsfiddle.net/akgx7Lqu/82/ – talha

+0

@zach这是出https://stackoverflow.com/questions/3357553/how-do-i-store-an-array-in -localstorage – talha

0

您可以使用

$window.localStorage.setItem("ticket_marathon1",angular.toJson($scope.ticket_marathon1)) 

存储, var details1 =angular.fromJson($window.localStorage.getItem("ticket_marathon1"))检索和$window.localStorage.removeItem("ticket_marathon1")到remove.Then你可以在任何页面访问值,它是更加灵活。

注意:注射$窗口控制器

+0

对不起@Vivz它没有工作我仍然缺少我的数组在“ticketDetails”:[mara], –

+0

你可以尝试明确地存储它像$ window.localStorage .setItem(“mara”,angular.toJson($ scope.ticket_marathon1.ticketDetails)),看看它是否工作 – Vivz

+0

SyntaxError:意外的标记你在JSON位置“我得到这个错误” –

相关问题