Backbone.Model save -- 返回的模型的子级是数组而不是 Backbone.Collection
Backbone.Model save -- returned model's child is array not Backbone.Collection.
我有一个模型,看起来像:
var Playlist = Backbone.Model.extend({
defaults: function() {
return {
id: null,
items: new PlaylistItems()
};
}
});
其中 PlaylistItems 是 Backbone.Collection。
创建播放列表对象后,我调用保存。
playlist.save({}, {
success: function(model, response, options) {
console.log("model:", model, response, options);
},
error: function (error) {
console.error(error);
}
});
在这里,我的模型是一个 Backbone.Model 对象。但是,它的子项属于 Array 类型,而不是 Backbone.Collection。
这是意外的行为。我错过了什么吗?或者,我是否需要手动将数组传递到新的 Backbone.Collection 中并自行初始化?
这取决于您的服务器期望什么以及它响应什么。 Backbone 不知道属性items
是 Backbone 集合以及如何处理它。 这样的东西可能会起作用,具体取决于您的服务器。
var Playlist = Backbone.Model.extend({
defaults: function() {
return {
id: null,
items: new PlaylistItems()
};
},
toJSON: function(){
// return the json your server is expecting.
var json = Backbone.Model.prototype.toJSON.call(this);
json.items = this.get('items').toJSON();
return json;
},
parse: function(data){
// data comes from your server response
// so here you need to call something like:
this.get('items').reset(data.items);
// then remove items from data:
delete data.items;
return data;
}
});
相关文章:
- Backbone虹吸以获取对象数组
- 在Backbone中对模型(数组)进行排序
- Backbone Sync返回一个空的$_POST数组
- Backbone.Model:多对多关系或将数组包装到集合中
- 数组上的句柄设置为Backbone集合
- 使用Backbone.js,如何绑定到数组's更改不需要手动触发
- 如何在backbone.js中从模型中获取数组元素
- 遍历集合中的数组并在Backbone.js中显示
- Backbone js帮助我获得我的JSON数组
- 不明白为什么 Backbone collection.create 不发布数组
- 使用BackBone的POST有效负载传递具有数据值的数组
- Backbone-JSON的模型数组
- Backbone.js:从集合构建JSON数组
- Javascript/Backbone-使用索引删除数组对象
- 将JSON数组传递给Backbone collection时collection.length错误
- 使用新的数组元素更新backbone.js模型
- 为什么backbone.js在访问模型时返回一个空数组
- 将数组与已排序的Backbone.Collection同步
- Backbone.js将数组传递到视图
- 用json编码的php数组填充Backbone集合