Backbone JS 很新,我需要知道在模型内的集合中循环和设置模型属性的“正确”方式。
我的模型如下所示:
var mediaItem = Backbone.Model.extend({
});
var mediaItems = Backbone.Collection.extend({
model: mediaItem
});
var story = Backbone.Model.extend({
initialize: function () {
this.MediaItems = new mediaItems(this.get('MediaItems'));
this.MediaItems.parent = this;
}
});
我想要做的是遍历给定故事中的 MediaItems 并设置每个的宽度和高度。如果我这样做...
storyInstance.MediaItems.each(function (mediaItem) {
mediaItem.set('Width', 200);
mediaItem.set('Height', 100);
});
...然后 storyInstance.MediaItems 属性中的 MediaItem 模型正确更新,但 storyInstance.attributes.MediaItems 中的对象没有。当我随后在 Story 模型上调用 toJSON() 时,似乎使用了属性树。
我可能可以修改上述内容以循环遍历属性,但我觉得我设置模型错误或者有更标准的方法来做到这一点?
谢谢。