バックボーンの初心者では、私の美しいバックボーンのJavaScriptコードはご存じですか?バックボーンjsサーバからの自動リフレッシュ/リロードコレクションとコレクションビューの更新ビュー
これは、このコードは動作します私のコード
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