我使用Backbone和我的RESTful JSON API來創建一個應用程序,可以處理文章及其評論。我一直試圖讓Backbone Relational工作,但遇到我的懶惰加載問題。骨幹關係惰性加載
我加載了一個帖子列表,沒有相關的評論。點擊列表中的帖子,我打開一個視圖,獲取完整的帖子,包括評論,並呈現這個。
我有2個Backbone.RelationModels,文章和評論。該職位有關的評論是設置爲folows:`
relations: [{
type: Backbone.HasMany,
key: 'comments',
relatedModel: 'Comment',
includeInJSON: true, // don't include it in the exporting json
collectionType: 'Comments'
}]
現在我面臨的問題是關係,只要我找回我的名單,不包含的評論初始化。稍後,我通過通過URI獲取模型來加載完整數據。但是,這些關係似乎沒有重新初始化,調用Posts.get(1).get('comments')返回一個空集的評論集合!
有誰知道我該如何最好的解決這個問題?數據在那裏,似乎收集的評論沒有得到更新。
編輯:我可以使Post模型綁定它的更改:對其本身的評論,它更新集合。但是,我似乎無法找到一個可靠的方式來獲取原始評論'JSON,因爲this.get('comments')返回Comments集合。
注:在我的收藏,我做解析JSON,使其與我的API的工作,用下面的代碼:
parse: function(response) {
var response_array = [];
_.each(response, function(item) {
response_array.push(item);
});
return response_array;
}
這是因爲我的API返回的JSON返回與索引鍵對象(關聯數組)而不是本機JSON數組。
{
"id" : "1",
"title" : "post title",
"comments" : {
"2" : {
"id" : "2",
"description": "this should solve it"
},
"6" : {
"id" : "6",
"description": "this should solve it"
}
}
}
非常感謝!請提出任何問題,我確定我的地方一直很模糊!