2014-06-09 29 views
1
this.addToCart = function(id,name,category,price) { 

     alert(id+"name"+name); 
     var eachProduct = [ 
       { 
        "name": name, 
        "id": id, 
        "category":category, 
        "price":price 
       } 
      ]; 

     //$scope.obj = item; 
     //alert($scope.obj.name); 
     alert("product Name :"+eachProduct[0].name); 

     var arrayList = []; 
     arraylist.push(eachProduct); 

     sessionStorage.setItem("addedProductsList", eachProduct); 

     return "success"; 

,我從sessionStorage的如何把陣列到另一個陣列中angularjs

var retrieveArray= sessionStorage.addedProductsList; 
alert(retrieveArray.eachProduct[0].name);//getting undefined 

檢索值的ArrayList我在另一個服務 檢索如何每個產品推入ArrayList和它存儲在會話存儲。

+0

嘗試更換:'警報(retrieveArray.eachProduct [0]。名稱);'alert'(retrieveArray [0] .name);' –

+0

我沒有得到 –

+0

你的問題是什麼? – JLRishe

回答

2

本地和SessionStorage用於與原始數據類型一起使用。您需要將數組轉換爲字符串保存之前:

sessionStorage.setItem('addedProductsList', JSON.stringify(eachProduct)); 

並解析回一個數組檢索時:

var retrieveArray= JSON.parse(sessionStorage.addedProductsList); 
+1

本地和會話存儲存儲字符串值,這是它們存儲的唯一數據類型。 – JLRishe

+0

演示使用AngularJS'toJson' /'fromJson'方法:http://plnkr.co/edit/DIkSfMAoSwfhOOGkE1qh?p=preview –

+0

@JLRishe是的,你是對的。我的觀點是,存儲數字仍然比存儲數組或對象的效果更好,即使你獲得了一個「String」而不是「Number」。 – Johan