나는 녹아웃과 다음과 같은 문제를 직면하는 완전한 초보자입니다. 녹아웃 요소가 udated되는 것을 방지하는 방법
다음
내 녹아웃은 다음과 같은 방법을 편집 링크의 클릭에라고var modelEmployee = {
EmpRec: null
};
var viewModel = {
lookupCollection: ko.observableArray(),
selectedItem: ko.observable(),
EditedItem: ko.observable()
};
개체입니다. 현재 배열 행을 EditedItem에 복사하고 modelEmployee 객체를 복사합니다. 그런 다음 사용자가 편집을 취소하는 경우
viewModel.EditItem = function (item) {
viewModel.EditedItem(item);
modelEmployee.EmpRec = viewModel.EditedItem;
}
나는 다시 내 배열 사용자가 업데이트되는 모든 객체의 입력 컨트롤 값의 값을 변경 할 때마다
viewModel.Cancel = function() {
viewModel.EditedItem = modelEmployee.EmpRec;
}
에 modelEmployee에서 행을 복사 할. modelEmployee가 관찰 가능으로 설정되어 있지 않지만 여전히 업데이트 중입니다.
많은 포럼을 확인했지만 만족스러운 답변을 찾을 수 없습니다.
'modelEmployee.EmpRec = viewModel.EditedItem; '이것은 객체를 복사하지 않습니다. 참조 만 복사하고 해당 참조는 함수에 대한 참조입니다. 실제 객체의 * deep * 사본을 만들어야합니다. –
고마워요 !! 나는 그렇게 생각했다.. 그러나 확실하지 않았고, 어떤 다른 길도 발견 할 수 없었다. 깊은 사본 확인에 도움을받을 것입니다. – user3357040