Dường như việc loại bỏ không phải là ánh xạ các thuộc tính của các đối tượng trong một mảng chính xác.Loại bỏ không được ánh xạ các thuộc tính của một đối tượng trong một mảng
Xem ví dụ này từ chrome console:
> var viewmodel = ko.mapping.fromJS({list:[]});
undefined
> viewmodel.list().unshift({ name : ko.observable("Foo") });
1
> viewmodel.list()[0].name();
"Foo"
> var js = ko.mapping.toJS(viewmodel);
undefined
> js.list[0].name;
undefined
Vì vậy, các đối tượng javascript đã được tạo ra, nhưng 'tên' bất động sản không được ánh xạ.
Bất kỳ ý tưởng nào đều được hoan nghênh!
Cảm ơn câu trả lời nhanh. Có cách nào để sửa đổi hành vi để ánh xạ mọi thuộc tính? Các tài liệu dường như không đề cập đến điều này. –
@RichardAstbury Tôi không nghĩ vậy. Bạn sẽ cần phải mã hóa mã này thành phiên bản tùy chỉnh của plugin ánh xạ. – Niko
Tôi đã tìm thấy ko.toJSON (viewModel) mà dường như thực hiện công việc. –