在下面的代碼中,我建立了3個has-many/belongs-to關係。Backbone-Relational:Fetch返回通用JS對象
類別>子類別>產品
Category.js.coffee:
class App.Models.Category extends Backbone.RelationalModel
relations: [{
type: Backbone.HasMany
key: 'subcategories'
relatedModel: 'App.Models.Subcategory'
collectionType: 'App.Collections.Subcategories'
reverseRelation: {
key: 'category',
includeInJSON: 'id'
}
}]
App.Models.Category.setup() # Set up BB Relational
Subcategory.js.coffee:
class App.Models.Subcategory extends Backbone.RelationalModel
relations: [{
type: Backbone.HasMany
key: 'items'
relatedModel: 'App.Models.Item'
collectionType: 'App.Collections.Items'
reverseRelation: {
key: 'subcategory',
includeInJSON: 'id'
}
}]
App.Models.Subcategory.setup() # Set up BB Relational
Item.js.coffee
class App.Models.Item extends Backbone.RelationalModel
initialize: ->
...
App.Models.Item.setup() # Set up BB Relational
問題:
調用item.get('subcategory')按預期工作,返回一個Backbone RelationalModel對象。但是,由於某種原因調用類別返回一個通用的JS對象。
item.get( '子類別')獲得( '類')
返回:對象{ID:1,名稱: 「標題」}
如果它的相關,控制檯.log @ subcategory.relations顯示消息「collectionKey = subcategory在collection = true時已經存在」。
如果它返回一個通用的JS對象,有肯定是錯誤的設置BB – TYRONEMICHAEL
我很懷疑,也許從類別 - >子類別的反向關係影響定義的關係類別? – pws5068