我正在尝试创建一个嵌套的关系骨干项目,但我真的很挣扎。我正在尝试做的大致想法如下所示,但我在客户端上调用 fetch() 时的印象是,会根据以 JSON 形式返回的预订自动创建一些预订。
我的 JSON 格式可以在 MVC 的轮廓下方看到:
/****************************************************
/* CLIENT MODEL - Logically the top of the tree
/* has a BookingsCollection containing numerous Booking(s)
/* Client
/* -Bookings [BookingsCollection]
/* -Booking [Booking]
/* -Booking [Booking]
/*****************************************************/
var Client = Backbone.RelationalModel.extend({
urlRoot: '/URL-THAT-RETURNS-JSON/',
relations: [
{
type: Backbone.HasMany,
key: 'Booking',
relatedModel: 'Booking',
collectionType: 'BookingsCollection'
}
],
parse: function (response) {
},
initialize: function (options) {
console.log(this, 'Initialized');
}
});
var Booking = Backbone.RelationalModel.extend({
initialize: function (options) {
console.log(this, 'Initialized');
}
});
var BookingsCollection = Backbone.Collection.extend({
model: Booking
});
任何概述我做错了什么的帮助将不胜感激。
谢谢
编辑
感谢您花时间发布反馈,这正是我所希望的。
如果您不努力手动设置属性,那么 JSON 是否会在物理上定义模型的实际属性?换句话说,如果我返回的 JSON 与您上面建议的一样,Backbone 会简单地创建一个 Client 对象(具有 4 个属性 id、title、firstname 和 surname)以及 2 个 Booking 对象(每个具有 4 个属性并且大概BookingsCollection 的每个成员)?
如果是这种情况,引用每个对象的属性的格式是什么?当我设置一个非骨干关系迷你应用程序时,我最终遇到了一种情况,我可以使用 Client.Attribute 或 Booking[0].EventDate 来引用属性。我似乎无法使用您上面概述的格式执行此操作。
再次感谢。