我正在研究概念验证应用程序,我对数据存储有疑问.
我的应用有一个客户端模型
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.我认为没有必要为项目提供一个项目,因为该数据嵌套在客户端对象中.如果您有一个显示项目被选中的项目,您可能希望拥有一个当前所选项目的控制器.
如果您可以进一步描述您打算如何处理项目数据,我可以提供更好的建议.