Knockout.js mapeando un JSON en una matriz observable
Quiero crear un cliente para mi servicio REST usando Knockout.js. Tengo muchos Repositorys a los que quiero acceder a través de diferentes urls, por lo que se me ocurrió esta solución utilizando el patrón de prototipo revelador. Miproblema: No puedo encontrar la forma de asignar la propiedad de elementos con mis "datos" que recibo de mi servicio.
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();
Creo que el problema está en esto:ko.mapping.fromJS (data, self.Items); Pero no puedo encontrar la manera correcta de hacerlo.
Pregunta: ¿Qué estoy haciendo mal? He encontrado un ejemplo, y ellos están haciendo lo mismo, creo:http://jsfiddle.net/jearles/CGh9b/