VUE,localStorage(本地储存)储存数组对象,取出时产生错误

在开发中通过以下代码储存json数组对象时

数据格式:

[{"refId":"1","type":"1"},{"refId":"2","type":"2"},{"refId":"3","type":"3"}]

储存:

localStorage.setItem( "processBR", JSON.stringify(this.$refs["assemblyChildNodeTable"].selectedRows));

在其他页面取出时无法识别,导致通过for取出时,无法识别数组中的单个对象,而是直接当做字符串一个个输出,通过使用eval()转换后,可识别数组中的单个对象,按对象循环遍历,或者使用JSON.parse()转换

let relaAoprod = [];
let packJson = eval("(" + localStorage.getItem("processBR") + ")");
//let packJson = JSON.parse(localStorage.getItem("processBR"));
for (var i in packJson) {
 let prod = {};
 prod.oid = packJson[i].refId; //工艺节点id
 prod.refType = packJson[i].type; // 产品节点类型
 (prod.prodType = this.leftNodeData.type), // 工艺节点的类型
 (prod.relationType = this.relationType), // 关联关系 0-消耗,1-拆除
 (prod.roId = this.leftNodeData.id), // 产品id
  relaAoprod.push(prod);
 }
Logo

前往低代码交流专区

更多推荐