Ho appena iniziato a utilizzare knockout.js e funziona perfettamente con le offerte normali. Ho un problema con observableArray.Crea ko.observableArray da oggetti JSON in knockout
Voglio creare un osservableArray e assegnargli un dato JSON da Google Feed API. Ecco il 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);
}
});
}
Nell'esempio di cui sopra, l'accesso alla serie dal ViewModel è OK, ma ho bisogno di visualizzarlo nella vista (al browser) utilizzando 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 -->
Ma niente del ciclo foreach ko non restituisce nulla. L'avanzamento osservabile è OK.
Inoltre, non ho alcun errore JS. Qualsiasi aiuto ..
abbastanza sicuro che è necessario per creare l'array in anticipo, quindi nel tuo carico riempi quella matrice ...... –