5分ごとにページをリロードして、テーブルのデータを更新したいと思います。
完全ではありません。ページのテーブルを更新できるように、5分ごとにデータをリロードする必要があります。
あなたはsetTimeout
どこかで、おそらくあなたの見解の中でさえ使うべきですinitialize
:
start_reloader: function() {
var _this = this;
this.timer = setTimeout(function() {
$.ajax({
// Load the data from your server...
success: function(data) {
_this.redraw_the_table(data);
_this.start_reloader();
}
});
}, 5*60*1000);
},
initialize: function() {
this.start_reloader();
}
remove
そして、あなたはあなたの中に何かがタイマーを殺したいと思うでしょう:
remove: function() {
if(this.timer)
clearTimeout(this.timer);
return Backbone.View.prototype.remove.apply(this);
}
を使用することもできますが、AJAX呼び出しsetInterval
にclearInterval
遅延がある場合、それらが互いに積み重なる可能性が(わずかに)あります。
もちろん、これを管理する必要はありません。5分ごとにサーバーから自分自身をリロードするようにモデルまたはコレクションを設定する方が、あなたのケースではより理にかなっているかもしれません。次に、ビューは通常どおりモデルまたはコレクションのイベントにバインドされ、モデル/コレクションからの、、...イベントに応答してテーブルを再描画し'reset'
ます'change'
。