即使页面刷新也会永久更改阵列

时间:2016-11-08 16:58:41

标签: javascript arrays angular typescript

我正在使用Angular 2(Typescript)进行编码,在我的网页上我有不同的输入形式,当我提交这些表单时,它们会触发自己的函数,根据数组的输入添加对象的新实例,然后将其反映在从所述数组生成的页面上的表中。如何在刷新页面后将这些更改永久保存在数组中。数组Error in if (myTable[j, 1] == keySearched) { : missing value where TRUE/FALSE needed 从另一个目录导入。 DPS函数位于组件的Typescript文件中,该文件与主页的Typescript和组件(HTML和其他的Typescript)分开。下面,您会看到我在主页上使用submitForm表示我的整体onload="myFunction()"以及container功能。

这是添加到数组的函数:

myFunction()

div为我的主页:

submitForm(value: any){
  var val1 = String((<HTMLInputElement>document.getElementById("dataPoint")).value);
  var val2 = String((<HTMLInputElement>document.getElementById("ICCP")).value);
  var val3 = String((<HTMLInputElement>document.getElementById("startDate")).value);
  var val4 = String((<HTMLInputElement>document.getElementById("endDate")).value);
  let blah = new DataTable(val1,val2,val3,val4);
  DPS.push(blah);
  localStorage.setItem("DPS", JSON.stringify(DPS));
}

myFunction的():

<div class="container-fluid page" onload="myFunction()">

1 个答案:

答案 0 :(得分:2)

您可以将其保存在localStorage

...
DPS.push(blah);
localStorage.setItem("DPS", JSON.stringfy(DPS));

在页面加载时,您可以检查是否已经拥有它:

let DPS = localStorage.getItem("DPS");
if (DPS) {
    localStorage.removeItem("DPS");
    DPS = JSON.parse(DPS);
    // you have an intance
}

修改

似乎在angular2中有一个本地存储库:angular2-localstorage