私は2つのビューを使用しています。1つはアイテムのリスト全体を表示する元のビュー(現在は3人の詳細を表示)で、もう1つはコレクションに新しいアイテムを追加するためのモーダルダイアログです。モーダルダイアログで[追加]をクリックすると、新しい時間が元のビューに表示されます。しかし、ページに[変更をキャンセル]ボタンがあり、クリックすると、元のビューには重大からフェッチされたアイテムのみが表示され、後で行われたすべての変更が失われます。それができる方法はありますか?元のビューを呼び出そうとすると、ページに合計7人の詳細が表示されます。サーバーからフェッチされた元の3つのアイテムとモーダルダイアログから新しく追加されたアイテムで、そのリストに3つの元のアイテムが追加されました。elから最初のリストをxclearする方法を教えてもらえますか?
1 に答える
1
私の頭に浮かぶ最も簡単な方法は、最初のモデルデータを保存し、「変更をキャンセル」ボタンをクリックしてビューを再レンダリングしたときにそれらを復元することです。
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);
}
于 2012-10-08T15:48:30.560 に答える