2013-07-05 41 views
0

我在將模型響應綁定到模型時遇到了問題。最初,我有一個簡單的模型和一個簡單的響應,工作正常。但後來我改變了我的迴應,以odata格式。我的骨幹MODLE是:如何從屬性中加載骨幹模型作爲迴應?

var UserCard = Backbone.Model.extend({ 
    defaults: { 
     ... 
    } 
}); 

及其相關的集合:

var UserCards = Backbone.Collection.extend({ 
    model: UserCard, 
    url: '/odata/UserCards' 
}); 

現在正在填充此集合,直到我改變了,現在看起來像下面的迴應:

{ 
"odata.metadata":"http://website.com:53176/odata/$metadata#UserCards", 
"value":[{...},{...}...] 
} 

當我請撥打collection.fetch方法,嘗試將上述內容放入與此響應不兼容的模型中。然而,該模型與上述json的value屬性中包含的任何內容都是兼容的。

我想知道是否有方法可以從value屬性加載我的模型,而不是完整的響應?

回答

2

您可以覆蓋模型/集合的parse()方法。例如:

parse: function(data) { 
    return data.value; 
} 

parse是方法調用骨幹時,從服務器中檢索數據,請參見Backbone docs here

+0

剛剛試了一下,它的工作。謝謝:) – sttaq

+0

不用擔心。愉快的骨幹。 – Twicetimes

+0

到目前爲止,它打破了我的主幹:S – sttaq