Acabo de empezar a utilizar knockout.js y funciona muy bien con las ofertas normales. Tengo un problema con observableArray.Crear ko.observableArray del objeto JSON en knockout
Quiero crear un array observable y asignarle un dato JSON de la API de Google Feed. Aquí está el formato JSON https://developers.google.com/feed/v1/devguide#resultJson
google.load("feeds", "1"); // Loads Google Feed API
function FeedViewModel()
{
// Data
var self = this;
self.allEntries = null;
// Example property, and it works
self.feedHead = ko.observable("BBC News");
var feed = new google.feeds.Feed("feeds.feedburner.com/BBCNews");
feed.setResultFormat(google.feeds.Feed.JSON_FORMAT);
feed.includeHistoricalEntries();
feed.setNumEntries(30);
// Loads feed results
feed.load(function (result) {
if (!result.error) {
self.allEntries = ko.observableArray(result.feed.entries);
// accessing the title from here is OK
alert(self.allEntries()[1].title);
}
});
}
En el ejemplo anterior, el acceso a la matriz del modelo de vista está bien, pero tengo que mostrarlo en la vista (en el navegador) usando foreach: allEntries
<h2 data-bind="text: feedHead">Latest News</h2>
<!-- ko foreach:allEntries -->
<div class="lists">
<a href="#" data-bind="text: title"></a>
</div>
<!-- /ko -->
Pero nada del bucle ko foreach no devuelve nada. El feedHead observable está bien.
Además, no tengo ningún error JS. Cualquier ayuda ..
bastante seguro de lo que necesita para crear la matriz por adelantado, a continuación, en tu carga llenas esa matriz ...... –