我有一个嵌套的数据结构如下:
Job:{
JobId: 1,
NumberTrackr: 2,
Trackrs: [
1 : { TaskTrackrID: a,
NumberSlots:1,
slots: [
slot1: {uniqueId:foo, you: get, the:[point, by, now]}
]
},
2 : { TaskTrackrID: b,
NumberSlots:1,
slots: [
slot1: {uniqueId:bar, you: get, the:[point, by, now]}
]
}
]
}
我的应用程序使用这个数据层次结构(计算特定 Trackr 的“子级”foo 属性的总和)以及每个数据级别作为一个整体(例如,根据所有插槽的内容计算统计数据,而不管它们的“父级” '任务跟踪器)。
我是 Ember 的新手,但我正在考虑为每个对象级别(TaskTrackr、Slot 等)创建一个模型。该模型将包含上面显示的所有属性以及某种子模型数组(使用 arraycontroller?)。所述子模型也将具有属性以及它们自己的子模型数组。重要的是,高级对象可以具有从其子对象计算的计算属性。同样重要的是,我可以整体访问每个级别并修改特定属性。
代码应该是什么样子才能使我既可以树又可以按级别访问这些数据?
非常感谢您的帮助
最佳答案
看看Ember Data .它支持这些类型的关系。
App.Job = DS.Model.extend({
trackers: DS.hasMany('App.Tracker')
})
App.Tracker = DS.Model.extend({
job: DS.belongsTo('App.Job');
})
// ... and so on
var job = App.Job.createRecord();
job.get('trackers').pushObject(App.Tracker.createRecord());
只是要注意。您提到使用 ArrayController
并且您可能会在您的 Ember 应用程序中使用它。但是,在对数据/关系建模时,您不会使用任何 Controller 。您应该能够仅使用 DS.Model
关于javascript - Ember.js 嵌套的 ArrayController 和模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12465128/