簡體   English   中英

如何在lobb.js中實現頁面刷新(從服務器獲取數據並丟失所做的所有更改)功能?

[英]How to implement page refresh (fetch data from server and losing all changes made) functionality in backbone.js?

我使用兩個視圖,一個原始視圖顯示項目的整個列表(當前顯示3個人的詳細信息),另一個視圖是模式對話框,用於向集合中添加新項目。 當我在模式對話框中單擊添加時,新時間將填充在原始視圖中。 但是我在頁面上有一個“ CancelChanges”按鈕,當我單擊該按鈕時,原始視圖必須僅顯示從嚴重中獲取的項目,並且以后將丟失所有更改。 有什么辦法可以做到嗎? 當我嘗試調用“原始視圖”時,該頁面顯示了總共7個人的詳細信息。 從服務器獲取的原始3個項目+模態對話框中新添加的項目,並將3個原始項目附加到該列表中。誰能讓我知道如何從el清除初始列表?

我想到的最簡單的方法是保存您的初始模型數據,然后在您單擊“取消更改”按鈕並重新渲染視圖時還原它們,如下所示:

Backbone.View.extend({

initialize: function(){
    _.bindAll(this,'restore_collection');
    this.collection.bind('reset',this.render);
    this.originalModels = this.collection.models;    
},

events: {   
    "click #cancel" : "restore_collection"   
},

restore_collection: function(){   
    this.collection.reset(this.originalModels);    
}

暫無
暫無

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

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