Tôi đang cố gắng ánh xạ một mảng các đối tượng tới một ObservableArray với plugin ánh xạ loại bỏ. Bằng cách nào đó điều này dường như không làm việc cho tôi cả.Mảng ánh xạ hành vi lạ với observableArray với ko.mapping.fromJS
tôi chỉ thử nghiệm với Crome console để xác minh:
ko.mapping.fromJS([ { x: 1, y: "test" } ])
returns:
[]
Tôi đang làm gì sai? Nếu tôi thử các trang sau
ko.mapping.fromJS([ { x:1, y: "test" } ][0])
returns an object containing x and y as observables...
tất cả đều hoạt động tốt. Sự khác biệt duy nhất là tôi chỉ cung cấp một đối tượng duy nhất thay vì một mảng các đối tượng. Nhưng nếu tôi đọc tài liệu của plugin ánh xạ chính xác, nó sẽ có thể xử lý việc tạo một ObservableArray ra khỏi một mảng bình thường.
Nhờ sự giúp đỡ của bạn,
Andreas
Trong giao diện điều khiển của Chrome đảm bảo rằng bạn đang xem giá trị chưa được mở của 'myObservableArray()' của ObservableArray. Nó có thể gây hiểu nhầm khi chỉ in ra bản thân observableArray. –
Như RP đã nêu ... bạn chỉ nhìn vào giá trị sai. Đây là một fiddle mà bạn có thể sử dụng để xác minh. Đặt một điểm ngắt trên dòng ko.mapping và gõ: ko.mapping.fromJS (dữ liệu) và bạn sẽ thấy []. Nếu bạn gõ: ko.mapping.fromJS (data)() và bạn thấy [Object, Object, Object, Object]. http://jsfiddle.net/jearles/y4b9e/8/ –
Cảm ơn các bạn, Chrome đã lừa tôi bằng cách in chỉ [] cho biết một mảng trống. Nhưng bạn hoàn toàn đúng, nếu tôi nhưng niềng răng đằng sau biểu thức nó cho thấy nội dung hoàn toàn. Tuyệt vời để nhận được nhận xét sớm như vậy! Stackoverflow rocks ... – nttakr