如何在 Ember 模型中表示复杂对象?

How to represent complex objects in Ember models?

This SO question explains how to store an array in an Ember model, but how could it be done with a custom object, which also isn't supported natively supported, according to the Guides

这是我正在构建的对象的示例

obj[0] = {"timeInMinutes": ">120", "occurrences": 24 };
obj[1] = {"timeInMinutes": "90-120","occurrences": 69 };
obj[2] = {"timeInMinutes": "60-90", "occurrences":  53 };
obj[3] = {"timeInMinutes": "30-60", "occurrences": 35  };
obj[4] = {"timeInMinutes": "0-30", "occurrences": 24 };

更新。

使用 this answer 中提供的信息,我能够在我的模型上创建一个数组属性以及其他几个值,但我还希望能够创建 DS.attr('object') 属性像这样使用。要创建对象类型,我是否需要像在链接到 SO 答案中对数组所做的那样使用 DS.Transform.extend({

 App.Index = DS.Model.extend({
    names: DS.attr('array'),
    country: DS.attr('string'),
    statistics: DS.attr('object')

如果您使用 Ember 数据,则必须以 Ember 数据兼容的方式构建模型。你可以有一个父 Object(肯定有更好的名字,但你根本没有解释你的域名)hasMany TimespanOccurrence 或类似的。

如果您希望 属性 成为原始对象而不是 Ember 对象,那么您可以执行以下操作:

ObjectTransform = DS.Transform.extend({
  deserialize: function(serialized) { return serialized; },
  serialize: function(deserialized) { return deserialized; }
});

这是假设您根本不需要更改通过网络传入的对象。