Tôi muốn xây dựng một máy khách cho REST-Service của mình bằng Knockout.js. Tôi có rất nhiều Kho lưu trữ tôi muốn truy cập thông qua các url khác nhau - vì vậy tôi đã đưa ra giải pháp này bằng cách sử dụng Khuôn mẫu-Trình bày mẫu. My problem: Tôi không thể tìm hiểu cách ánh xạ ItemsProperty bằng "dữ liệu" của tôi mà tôi nhận được từ dịch vụ của mình.Knockout.js ánh xạ JSON vào một mảng quan sát
var Repository = function (url) {
this.Url = url;
this.Items = ko.observableArray([]);
this.PendingItems = ko.observableArray([]);
};
Repository.prototype = function() {
var
getAllItems = function() {
var self = this;
$.getJSON(self.Url, function (data) {
// data=[{"Id":1,"Name":"Thomas","LastName":"Deutsch"},{"Id":2,"Name":"Julia","LastName":"Baumeistör"}]
ko.mapping.fromJS(data, self.Items);
});
},
...
// i call it like this:
customerRepository = new Repository('http://localhost:9200/Customer');
customerRepository.getAllItems();
Tôi nghĩ rằng vấn đề là ở đây: ko.mapping.fromJS (dữ liệu, self.Items); nhưng tôi không thể tìm đúng cách để làm điều đó.
Câu hỏi: tôi đang làm gì sai? Tôi đã tìm thấy một ví dụ - và họ đang làm giống như tôi nghĩ: http://jsfiddle.net/jearles/CGh9b/
Đối với tham chiếu của mọi người, giữa đối tượng trống rỗng trong ví dụ này là một trình giữ chỗ trống cho đối tượng tùy chọn ánh xạ. – pimbrouwers