ember.js – Ember中的嵌套数据应该有一个arrayController还是多个?

我正在研究概念验证应用程序,我对数据存储有疑问.

我的应用有一个客户端模型

PM.Client = Ember.Object.extend({
    id: null,
    client: null,
    projects: {}
});

和项目模型

PM.Project = Ember.Object.extend({
    id: null,
    title: null,
    totalHours: null,
    cost: function(){
        return this.get('totalHours') * PM.get('rate');
    }.property('totalHours')
});

每个客户端可以有多个项目,但每个项目只能有一个客户端.目前我有一个带有以下数据的虚拟JSON文件

[
    {
        "id": "1",
        "client": "Fastbook",
        "projects": [
            {
                "id": "1",
                "title": "Website redesign",
                "totalHours": "45",
                "cost": "4500"
            },
            {
                "id": "2",
                "title": "Tidy up admin section",
                "totalHours": "10",
                "cost": "1000"
            }
        ]
    },
    {
        "id": "2",
        "client": "Epicenter",
        "projects": [
            {
                "id": "1",
                "title": "Chaching",
                "totalHours": "25",
                "cost": "2500"
            }
        ]
    }
]

在Ember中存储这些数据的最佳方法是什么?我应该为客户端使用arrayController而为项目使用另一个吗?

Ember Data可能没问题,但我不打算为此设置REST. Ember Data可以使用localStorage吗?

最佳答案 如果没有关于应用程序将要做什么的更多细节,有点难以说.

我会为客户端使用ArrayController.我认为没有必要为项目提供一个项目,因为该数据嵌套在客户端对象中.如果您有一个显示项目被选中的项目,您可能希望拥有一个当前所选项目的控制器.

如果您可以进一步描述您打算如何处理项目数据,我可以提供更好的建议.

点赞