我是新來的骨幹,我認爲其中一個偉大的事情是我可以訪問數據而無需返回到服務器。在我的應用程序的舊版本中,我使用jQuery.data將數據散列存儲在dom節點中。骨幹使用現有的模型數據,而不需要另一個電話到服務器
所以我有一個消息列表,當我點擊一條消息時,我想去一個顯示更多細節的視圖,但是我需要的所有細節都已經在原始列表中,所以我不'實際上需要另一次運行到服務器,我只想更新視圖。
然後,當我想回到列表,我不需要回到服務器,我只想回到原始列表。
我的路線看起來像這樣,我嘗試將'messages'變量傳遞給show函數,但它不適用於該函數。
我誤解了骨幹的能力嗎?
App.Routers.Messages = Backbone.Router.extend({ routes: { "": "index", "messages/:id": "show" }, show: function(id){ var message = new Message({ id: id}); message.fetch({ success: function(model, resp){ new App.Views.Show({ model: message}); }, error: function(){ new Error({message: "Hey!? Were'd it go? sorry I can't find your message"}); window.location.hash = '#'; } }); }, index: function(){ var messages = new App.Collections.Messages(); message.fetch({ success: function(){ new App.Views.Index(messages); }, error: function(){ new Error({ message: "did not find message :("}); } }); }
雖然我認爲你靠近保羅,遺憾的是,當我點擊一個消息,我得到的的console.log作秀App.messages.get(ID)的「未定義」。另外,在提供的代碼中,當返回到消息視圖時,我想我只是檢查消息的長度,如果<1,則設置獲取?出於某種原因,我想骨幹了這種管道 – pedalpete 2011-12-20 17:57:37
的照顧,可能還與從服務器獲取檢索模型異步 – Paul 2011-12-20 18:40:37