Новое на макете, пожалуйста, принесите мой не очень красивый базовый код javascript.Backbone js auto обновить/перезагрузить коллекцию с сервера и обновить представление с помощью коллекции
Это мой код
var Schedule = Backbone.Model.extend({
initialize: function() {
console.log("initializing model");
}
});
var ScheduleCollection = Backbone.Collection.extend({
model: Schedule,
url: "<%=students_swimming_classschedules_path%>",
parse: function (resp) {
return resp;
},
});
var Schedules = Backbone.View.extend({
initialize: function() {
console.log("initializing view");
collection.on('add', this.render, this);
this.render();
},
render: function() {
for (var i = 0; i < collection.length; i++) {
s += "<tr><td>" + collection.models[i].get('account') + "</td><td>" + collection.models[i].get('status') + "</td></tr>";
}
this.$el.html(s);
},
})
var schedules = new Schedules({
el: $("#students")
});
window.setInterval(function() {
collection.fetch();
}, 2000);
Этот код работает. И я могу загрузить всех студентов в контейнер $ ('# students').
Но я хотел бы автоматически перезагружать коллекцию с сервера и просмотра каждые несколько секунд. Любая помощь будет оценена по достоинству.
Я обновил свой код. Добавьте 'collection.on ('add', this.render, this); 'и' window.setInterval (function() { collection.fetch(); }, 2000); 'и удалены эти pre collection.add(). Но почему $ ("# students") не загружается? – wwli
И я хотел бы перезагрузить все в этой коллекции, а не просто добавлять новые предметы в коллекцию – wwli
Я думаю, что понял. Я изменил 'collection.on ('add', this.render, this); 'with' collection.on ('sync', this.render, this); ' – wwli