Диаграмма классов выглядит следующим образом:
ModelA 1------* ModelB 1------* ModelC 1------* ModelD
Редактировать:
Данные выглядят так
Данные:
{ "Titel" : "ModelA",
"ModelA" : [
{
"Titel" : "ModelB1",
"ModelB1" : [
{
"Titel" : "ModelC1",
"ModelC1":[
{ "Titel" : "ModelD1" },
{ "Titel" : "ModelD2" },
{ "Titel" : "ModelD3" }
},
{
"Titel" : "ModelC2",
"ModelC2":[
{ "Titel" : "ModelD21" },
{ "Titel" : "ModelD22" },
{ "Titel" : "ModelD23" }
},
]
},
{
"Titel" : "ModelB2",
"ModelB2" : [
{
"Titel" : "ModelC1",
"ModelC1":[
{ "Titel" : "ModelD1" },
{ "Titel" : "ModelD2" },
{ "Titel" : "ModelD3" }
},
{
"Titel" : "ModelC2",
"ModelC2":[
{ "Titel" : "ModelD21" },
{ "Titel" : "ModelD22" },
{ "Titel" : "ModelD23" }
},
]
}]
}
Я создаю эти RelationalModel:
Модель A:
ModelA = Backbone.RelationalModel.extend({
relations:[{
type: Backbone.HasMany,
key: 'modelb',
relatedModel: 'ModelB',
collectionType: 'ModelBCollection',
reverseRelation:{
key: 'belong To',
includeInJSON: 'id'
}
}] });
Модель B:
ModelB = Backbone.RelationalModel.extend({
relations:[{
type: Backbone.HasMany,
key: 'modelc',
relatedModel: 'ModelC',
collectionType: 'ModelCCollection',
reverseRelation:{
key: 'belong To',
includeInJSON: 'id'
}
}] });
ModelC:
ModelC = Backbone.RelationalModel.extend({
relations:[{
type: Backbone.HasMany,
key: 'modeld',
relatedModel: 'ModelD',
collectionType: 'ModelDCollection',
reverseRelation:{
key: 'belong To',
includeInJSON: 'id'
}
}] });
ModelD:
ModelD = Backbone.Model.extend({ });
Коллекции:
ModelACollection = Backbone.Collection.extend({ model: ModelA });
ModelBCollection = Backbone.Collection.extend({ model: ModelB });
ModelCCollection = Backbone.Collection.extend({ model: ModelC });
ModelDCollection = Backbone.Collection.extend({ model: ModelD });
и я делаю это в маршрутизаторе:
Маршрутизатор:
var obja = new ModelACollection(data);
var objb = new ModelBCollection(data.objb);
var objc = new ModelCCollection(data.objc);
var objd = new ModelDCollection(data.objd);
все получаются, но со многими предупреждениями (firefox, chrome) выглядит следующим образом:
Предупреждение:
Relation=%o; no model, key or relatedModel (%o, %o, %o) ....
- Что означает это предупреждение?
- Это право представлятьЭто классовое отношение с Backbone-реляционным не является?
, если нет?
Как я могу представить это как Backbone ModelRelational?