javascript - Ember.js 嵌套的 ArrayController 和模型

标签 javascript ember.js javascript-framework javascriptmvc

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

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/

相关文章:

javascript - 不影响表单字段值的 IE 占位符修复

javascript - Shopify-Buy-SDK 获取原始产品数据

javascript - 用户偏好的多选项卡问题

javascript - Ember JS 入门 - 屏幕闪烁

javascript - Extjs 4 : use ux. 中心

javascript - 如何在加载页面时同步网站内容

javascript - 如何返回表示元素字符串长度的数字数组?

javascript - 如何使用 JavaScript 定位 SVG 路径的属性?

ember.js - 在 emblem.js 帮助程序调用中提供多个参数

extjs - 如何用ExtJS销毁一个对象的所有实例?