所以我有一個頁面,用戶在其中通過複選框從可用選項列表中進行選擇。 我有3個系列:一個用於可能的選項列表,一個用於當前保存的選項以及已保存選項的克隆。我使用克隆列表添加/刪除選項,因爲他們點擊複選框。backbone.js批量更新
var possibleOptions = new Backbone.Collection("/options");
var currentUserOptions = new Backbone.Collection("/useroptions", { id: 2 });
var clonedUserOptions = new Backbone.Collection(currentUserOptions.toJSON());
被採取這種做法的原因是,用戶可以取消該選項頁編輯中期如此想要的選項堅持在單擊保存按鈕。克隆的選項在選項被選中/未選中時被正確更新。但是,當我嘗試更新真實列表時,似乎沒有任何事情發生。
currentUserOptions.update(clonedUserOptions.toJSON());
我的期望是,骨幹會觸發新車型POST請求,並刪除了根據文檔(http://documentcloud.github.com/backbone/#Collection-update)每個缺少的模型。如果我誤解了這個假設如何工作,請讓我知道。一個簡單的正確方法的實例將不勝感激。
感謝, CF
更新'currentUserOptions'您還需要保存它們後。像'currentUserOptions.each(function(item){item.save();})'''可以工作,或者至少是一個好的開始。 – 2013-03-11 19:29:43
感謝Paul的回覆,但那些已刪除的選項呢?在執行currentUserOptions.each時,它們不再存在。 – user2158070 2013-03-11 19:39:39
嗯好點。 'update'並不是真的要這樣使用,更多的是用來自服務器的數據更新你的集合。 – 2013-03-11 19:42:42