Poniżej znajduje się aktualna struktura kodu, którą mam na miejscu dla kolekcji, którą ręcznie skonstruowałem. Mam plik json na moim serwerze, który teraz próbuję załadować i zasadniczo usunąć ręczny i skonstruować kolekcję na podstawie tych danych. Zastanawiałem się, co powinienem zmienić poniżej na mój kod, żeby to pomieścić.kręgosłup wypełnia kolekcję z zewnętrznego json'a
var Game = Backbone.Model.extend({
defaults: {
name: 'John Doe',
age: 30,
occupation: 'worker'
}
});
var GameCollection = Backbone.Collection.extend({
model: Game,
url: 'path/to/json',
parse: function(response) {
return response;
}
});
var GamesView = Backbone.View.extend({
tagName: 'ul',
render: function() {
//filter through all items in a collection
this.collection.each(function(game){
var gameView = new GameView({model: game});
this.$el.append(gameView.render().el);
}, this)
return this;
}
});
var GameView = Backbone.View.extend({
tagName: 'li',
template: _.template($('#gameTemplate').html()),
render: function() {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});
var gameCollection = new GameCollection([
{
name: 'John Doe',
age: 30,
occupation: 'worker'
},
{
name: 'John Doe',
age: 30,
occupation: 'worker'
},
{
name: 'John Doe',
age: 30,
occupation: 'worker'
}
]);
var gamesView = new GamesView({collection: gameCollection});
$(document.body).append(gamesView.render().el);
Więc obecnie mówisz 'new GameCollection (some_big_array_of_stuff)', ale teraz chcesz załadować kolekcję z serwera? –
Tak, nie chciałbym używać ręcznej tablicy obiektów, które stworzyłem do testowania, ale teraz chcę spróbować załadować obiekt json, który mam na serwerze i spróbować przeanalizować te dane. Nie wiem, jak sobie z tym poradzić. – Anks