我困在Backbone.js的問題上。Backbone.js:無法讀取undefiend的屬性'wait'
我使用siuying's memorySync plugin來利用模型,集合及其關聯的方法,但實際上沒有將它們同步到服務器。
此代碼:
n0 = karass.nodes.create();
n1 = karass.nodes.create();
Backbone.memorySync('update', karass.nodes, {});
給我以下錯誤:
Uncaught TypeError: Cannot read property 'wait' of undefined backbone.js:466
_.extend.save.options.success backbone.js:466
Backbone.memorySync backbone.memory.js:78
Backbone.sync backbone.localStorage.js:188
_.extend.sync backbone.js:276
_.extend.save backbone.js:476
_.extend.create backbone.js:847 (anonymous function) test.js:21
其中 nodes
是節點的一個Backbone.Collection,這僅僅是Backbone.Models(具有兩個功能,但評論他們給了我同樣的錯誤)。所以有效的是一個空模型。下面是節點的代碼:你可以從堆棧跟蹤看,我還使用 我知道memorySync是一歲
nodes = new (Backbone.Collection.extend({
model: Node,
store: new MemoryStore('nodes'),
}))();
,和我使用Backbone.js的0.9.10 ,所以也許你知道我能做些什麼來修復memorySync插件。
最令我困惑的是localStorage出現在堆棧跟蹤中,即使我在節點集合中使用了MemoryStore。
編輯:包括骨幹網,本地存儲,並memorySync後
Backbone.getSyncMethod = function(model) {
if(model.localStorage || (model.collection && model.collection.localStorage)) {
return Backbone.localSync;
}
if(model.store || (model.collection && model.collection.store)){
return Backbone.memorySync;
}
return Backbone.ajaxSync;
};
:哦,我還重新定義Backbone.getSyncMethod
來。
我在稍後的localStorage的同步中添加了一些代碼。一旦我知道修復它,我會再次發佈。同時,這裏有一個鏈接:https://github.com/lowerkey/Backbone.memorySync – lowerkey 2013-02-21 17:25:17