對骨幹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模型中調用JSON()時,就會使用屬性樹。
我可以修改上面的代碼來循環顯示屬性,但是我覺得我已經設置了錯誤的模型,或者有一個更標準的方法來做到這一點?
謝謝。
是的,別的是錯的 - 調用'set'應該更新屬性。你在這裏指的是什麼:「MediaItems屬性中的模型」?我在代碼中看不到那部分內容。 – McGarnagle
我剛剛給Ravi Hamsa的回答添加了一些評論 - 希望這有助於解釋? – Fijjit