1

我有一个嵌套数据结构如下:

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 的 'children's' foo 属性的总和)以及作为一个整体的每个数据级别(例如,从所有插槽的内容计算统计信息,而不考虑它们的“父”TaskTracker) .

我是 Ember 的新手,但我正在考虑为每个对象级别(TaskTrackr、Slot 等)创建一个模型。该模型将包含上面显示的所有属性,以及某种子模型数组(使用数组控制器?)。所述子模型也将具有属性以及它们自己的子模型阵列。重要的是,高级对象可以具有从其子对象计算的计算属性。我可以作为一个整体访问每个级别并修改特定属性也很重要。

什么样的代码可以让我以树的形式以及在级别的基础上访问这些数据?

非常感谢你的帮助

4

1 回答 1

2

看看Ember 数据。它支持这些类型的关系。

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());

只是要注意。您提到 usingArrayController并且您可能会在 Ember 应用程序中使用它。但是,在对数据/关系建模时,您不会使用任何控制器。你应该能够做你上面粘贴的只使用DS.Model

于 2012-09-18T03:16:26.643 回答