1

How do I get a copy of items in knockout observable array. Changing the copied items should not affect the original item.

What I want to do is before opening a popup, create a copy of item when the user clicks cancel button reload the original values

4

2 回答 2

1

您可以只使用标准 JavaScript 技术来克隆您的数组。请参阅以下内容:

在 JavaScript 中按值复制数组

所以,你可以复制如下:

var newArray = viewModel.observableArray().slice(0);
于 2013-04-24T05:20:19.433 回答
0

以下用于创建 JS 数组的副本。

var newArray = viewModel.observableArray().slice(0); ?/copies the internal array
viewModel.copyobservableArray(newArray); // set in new observable

对于 ko observableArray,我们需要执行以下操作以使其成为新副本

如果数组的内部也是对象,那么您可能也应该克隆它们以避免通过引用传递。

于 2018-06-06T06:34:16.030 回答