Voglio costruire un client per il mio servizio REST utilizzando Knockout.js. Ho molti Repositor che voglio accedere tramite diversi URL - così ho trovato questa soluzione usando il Pattern di Revealing-Prototype. Il mio problema: Non riesco a trovare il modo di mappare la proprietà Items con i miei "dati" che ricevo dal mio servizio.Knockout.js che mappano un JSON in un array osservabile
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();
Credo che il problema è in questo: ko.mapping.fromJS (dati, self.Items); ma non riesco a trovare il modo giusto per farlo.
Domanda: cosa sto facendo di sbagliato? ho trovato un esempio - e stanno facendo lo stesso penso: http://jsfiddle.net/jearles/CGh9b/
Per il riferimento di tutti, il letterale dell'oggetto vuoto medio in questo esempio è un segnaposto vuoto per l'oggetto delle opzioni di mappatura. – pimbrouwers