У меня есть viewModel с наблюдаемым массивом объектов с наблюдаемыми переменными.
В моем шаблоне отображаются данные с кнопкой редактирования, которая скрывает элементы отображения и показывает входные элементы со связанными значениями. Вы можете начать редактирование данных, а затем у вас есть возможность отменить. Я бы хотел, чтобы это отменить, чтобы вернуться к неизменной версии объекта.
Я попытался клонировать объект, выполнив что-то вроде этого:
viewModel.tempContact = jQuery.extend({}, contact);
или
viewModel.tempContact = jQuery.extend(true, {}, contact);
но viewModel.tempContact изменяется, как только контакт делает.
Есть ли что-нибудь, что встроено в KnockoutJS, чтобы справиться с такой ситуацией, или мне лучше всего просто создать новый контакт с точно такими же деталями и заменить измененный контакт новым контактом на отмену?
Любые советы приветствуются. Спасибо!