我在将odata响应绑定到我的模型时遇到麻烦。最初,我有一个简单的模型和一个简单的响应,效果很好。但是后来我将响应更改为odata格式。我的骨干模型是:
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
属性而不是完整响应中加载模型的方法吗?
您可以覆盖parse()
模型/集合的方法。例如:
parse: function(data) {
return data.value;
}
parse
是Backbone从服务器检索数据时调用的方法,请参阅此处的Backbone文档
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句