簡體   English   中英

如何在頁面刷新時保留查看數據

[英]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);
}

您也可以使用setIntervalclearInterval但是如果AJAX調用存在延遲,則它們有可能彼此堆積(很小)。

當然,您不必對此進行管理。 設置模型或集合以每五分鍾從服務器重新加載一次可能更有意義。 然后,您的視圖將照常綁定到模型或集合的事件,並響應來自模型/集合的'reset''change' ,...事件重新繪制表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM