允许模型包含对象数组

时间:2014-08-19 17:57:18

标签: ember.js ember-data

是否可以使用包含对象数组的模型,而不将这些对象分离为具有唯一ID?

例如,我有一张幻灯片,其中包含多个可能从API返回的参数:

slide: {
    "id": 1,
    "name": "stack-overflow-page",
    "type": "webpage"
    "parameters": [
        {"key": "url", "value": "http://stackoverflow.com"},
        {"key": "extension", "value": "/questions/ask"}
    ]
}

在我的幻灯片配置页面上,我想配置幻灯片及其参数列表。由于参数没有显式ID(复合ID - SlideID,Key),因此将它们分开并为每个参数进行API调用似乎很奇怪。

如何配置和使用此类模型?

1 个答案:

答案 0 :(得分:0)

最直接的方法是简单地做

parameters: DS.attr()

您可以定义自己想要的数组转换,但前提是您需要/想要专门的行为。如果你更改了数组元素中的某些内容,则必须自己处理污染,可以使用

进行处理。
model
  .set('parameters.firstObject.key', 'www.google.com')
  .notifyPropertyChange('parameters');