【发布时间】:2012-07-03 18:15:55
【问题描述】:
我正在尝试创建一个嵌套的关系骨干项目,但我真的很挣扎。我正在尝试做的大致想法如下所示,但我的印象是在客户端上调用 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 来引用属性。我似乎无法使用您上面概述的格式执行此操作。
再次感谢。
【问题讨论】:
标签: javascript backbone.js backbone-relational