dar*_*ong 2 javascript json backbone.js
我正在进行一个项目,我需要从服务器获取一些数据并从中生成Backbone Collection.以下代码按预期工作:
var Collection = Backbone.Collection.extend({});
var collection = new Collection({});
collection.fetch({
url: "http://localhost/api/somecollection",
success: function(response) {
// Do something here
}
})
Run Code Online (Sandbox Code Playgroud)
结果是这样的:
{
foo: "lorem ipsum",
bar: [{
a: "a",
b: "b",
c: "c"
}, {
a: "a",
b: "b",
c: "c"
}]
}
Run Code Online (Sandbox Code Playgroud)
"bar"属性是我想要变成bb集合的东西.我实际上是通过获取响应并使用其模型实例化一个新的Collection来实现的:
success: function(response) {
var newCollection = new Collection(response.models[0].attributes.bar);
}
Run Code Online (Sandbox Code Playgroud)
我在这里要做的是避免一个新的集合实例,只有一个应该足够了.我无法更改服务器响应以返回我只需要的数组.
问题是:有没有办法提供一个"获取"的参数,所以它可以引用"bar"道具?
覆盖Colletion.parse以自定义集合处理服务器响应的方式:
var Collection = Backbone.Collection.extend({
parse: function (resp) {
return resp.bar;
}
});
var collection = new Collection();
collection.fetch({
url: "http://localhost/api/somecollection"
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
305 次 |
| 最近记录: |