[英]How to retain View Data on page refresh
我正在嘗試在我的MVC應用程序中使用主干體系結構。 我使用HandleBars / Mustache創建了模板,並且我的模型包含在UI的一個表中(在div內)顯示的信息。
我想每5分鍾刷新一次頁面以刷新表中的數據。 我可以使用<meta http-equiv="refresh" content="some value" />
,
但它不會在表格中保存視圖數據。 在這種情況下如何刷新頁面?
編輯:基本上,在頁面上我有一個搜索框,並且搜索項加載在表上。 如果我使用meta標記刷新頁面,則會重新加載頁面,並且表中的數據也將消失。
我想每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);
}
您也可以使用setInterval
和clearInterval
但是如果AJAX調用存在延遲,則它們有可能彼此堆積(很小)。
當然,您不必對此進行管理。 設置模型或集合以每五分鍾從服務器重新加載一次可能更有意義。 然后,您的視圖將照常綁定到模型或集合的事件,並響應來自模型/集合的'reset'
, 'change'
,...事件重新繪制表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.