我已閱讀this和this問題,但它沒有幫助。我叫fetchRelated這樣:與JSON的主幹關係不會呈現所有屬性
initialize: function(){
Artist.fetchRelated(
'albums',
{success: this.render}
);
},
render: function(){
this.model.get('albums').each(function(album){
console.log(album);
console.log(album.toJSON());
console.log(album.get('title'));
});
$(this.el).html(this.template({
current_user: App.current_user.toJSON(),
artist: this.model.toJSON(),
albums: this.model.get('albums'),
}));
return this;
},
第一console.log(album)
正確返回一個有效的相冊樣板其所有屬性,但數與函數的toJSON下次調用沒有。它只是返回id。所以,當我嘗試在下一個日誌中檢索相冊的標題時,它會返回未定義的。
此外,它告訴我,我不能打電話的toJSON()在調用模板的藝術家,因爲它是不確定的,雖然,我只是用它來獲得相冊...
我我確定我的問題在於我仍然不習慣的回撥地獄,但我不知道如何解決這個問題。
編輯1:
的console.log(專輯)的反應是這樣的集合中的每個專輯:
_changing: false
_events: Object
_isInitialized: true
_pending: false
_permitsUsed: 0
_previousAttributes: Object
_queue: Backbone.BlockingQueue
_relations: Array[2]
attributes: Object
artist: child
description: "asdasd"
id: 1
image: ""
release_year: 1950
resource_uri: "/albums/1"
songs: child
title: "asdasd"
changed: Object
cid: "c8"
collection: child
id: 1
__proto__: Surrogate
編輯2:
我試圖改變的toJSON函數提供的骨幹關係,但我不明白爲什麼做這樣的事情應該解決我的問題,因爲我有其他模型和此功能正常工作,沒有任何重寫。
我試圖從我自己的返回_.clone(this.attributes)
到JSON函數,因爲console.log(this.attributes)
給出了正確的響應,但由於某種原因它返回相同。
artist: Object
id: 1
songs: Array[0]
__proto__: Object
這是我的關係。
relations: [{
type: Backbone.HasMany,
key: 'songs',
relatedModel: SongModel,
collectionType: Songs,
reverseRelation:{
key: 'album'
}
}],
你能張貼'的console.log(專輯)的結果;'打電話? – 2013-03-18 21:58:49
你去@akoskm – Nocturn 2013-03-18 22:11:25
你可以發佈關係嗎? – 2013-03-19 06:45:50