我有一个获取请求,响应看起来像这样。
response = {
id: 1,
title: 'text',
followers: [{}, {}] // array of objects
}
正如您所看到的,响应是一个具有属性跟随器的对象,该属性跟随器是一个对象数组。
我想从这个响应中创建一个模型和一个集合, 一个具有以下属性:
response = {
id: 1,
title: 'text'
}
和另一个,模型集合
followers: [{}, {}];
实现目标的适当方法是什么?
我可以使用Backbone.Relation吗?
如果是,有一些例子吗?
答案 0 :(得分:2)
我过去常常使用与@lecstor相同的方法,但我更喜欢在initialize()
中这样做:
initialize: function(){
this.followers = new Followers( this.get("followers") );
}
答案 1 :(得分:1)
根据你的需要/观点/等,我可能会在模型中包含该响应,并为粉丝创建一组模型...
MyModel = Backbone.Model.extend({
urlRoot: '/url/to/get/response'
});
Follower = Backbone.Model.extend();
Followers = Backbone.Collection.extend({
model: Follower
});
this.model = new MyModel({ id: 1 });
var that = this;
this.model.fetch({
success: function(model, response){
that.collection = new Followers( model.get('followers') )
}
});
我认为您可以通过以下方式轻松地从集合中更新您的模型:
this.model.set('followers', this.collection.toJSON())
答案 2 :(得分:0)
为什么没有包含集合和子模型的模型?
本质上是一个视图模型