Ionic 2:将参数作为副本传递到下一页,而不是通过引用

Ionic 2: Pass param to next page as copy, not by reference

问)我如何将我的参数作为副本传递到下一页,以便在我返回时对它的更改不会保留在前一个屏幕中?

例如

  showDetails(item) {
    this._nav.push(PersonDetailsPage, {
      person: item
    });    
  }

因此,当我查看 PersonDetailsPage 时,我希望能够进行更改、取消、返回而不修改原始对象。

谢谢。

在Javascript中,对象通过引用传递。只有原始类型(数字、字符串、布尔值等)按值传递。最好的选择是使用 Object.assign 方法复制对象。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign

现在我已经走了:

var copy = JSON.parse(JSON.stringify(obj));

使用"Object.assign"

let original = { person: items };
let copy = Object.assign({}, original );