Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 允许模型包含对象数组_Ember.js_Ember Data - Fatal编程技术网

Ember.js 允许模型包含对象数组

Ember.js 允许模型包含对象数组,ember.js,ember-data,Ember.js,Ember Data,是否有可能拥有一个包含对象数组的模型,而不将这些对象分离为具有唯一ID的对象 例如,我有一张包含多个参数的幻灯片,这些参数可能来自API: slide: { "id": 1, "name": "stack-overflow-page", "type": "webpage" "parameters": [ {"key": "url", "value": "http://stackoverflow.com"}, {"key": "ext

是否有可能拥有一个包含对象数组的模型,而不将这些对象分离为具有唯一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调用似乎很奇怪


如何配置和使用这样的模型?

最简单的方法是

parameters: DS.attr()
您可以定义自己的数组变换,但前提是您需要/想要专门的行为。如果更改数组元素中的某些内容,则必须自己处理dirtification,您可以使用dirtification

model
  .set('parameters.firstObject.key', 'www.google.com')
  .notifyPropertyChange('parameters');

这里的参数不是一个模型;它只是幻灯片模型的一个数组值字段。为什么您认为您需要将它们分离(意思是…?)和/或为它们进行单独的API调用?您能在这里使用DS.attr定义一个值数组吗?我需要定义自己的转换吗?我的问题更多的是如何正确定义幻灯片模型。最简单的方法是简单地执行参数:DS.attr。您可以定义自己的数组变换,但前提是您需要/想要专门的行为。@torazaburo您是对的,它比我预期的要简单。我假设如果它不是文档中定义的类型之一、字符串、数字、布尔值和日期,那么DS.attr将无法正确解析。这里唯一的缺点是isDirty不处理参数,但这是有意义的,我可以解决这个问题。如果你创造了一个答案,我可以标记你是正确的。