Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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,在余烬数据模型中使用数组的正确方法是什么?Tom Dale指出,ember在这方面“嵌入了hasOne关系”,但我找不到任何文档或实例 例如,我有一个类似so的类别数据模型,它有一个名为条件值 App.Category = DS.Model.extend({ name: DS.attr('string'), conditionValues: //this is an array }); 我想用从我的服务器返回的数组填充此属性,如下所示每个类别都有许多条件值。一个人怎样才能做到这一点呢

在余烬数据模型中使用数组的正确方法是什么?Tom Dale指出,ember在这方面“嵌入了hasOne关系”,但我找不到任何文档或实例

例如,我有一个类似so的
类别
数据模型,它有一个名为
条件值

App.Category = DS.Model.extend({
  name: DS.attr('string'),
  conditionValues: //this is an array
});
我想用从我的服务器返回的数组填充此属性,如下所示<代码>每个类别都有许多条件值。一个人怎样才能做到这一点呢

[condition_values] => Array
    (
        [0] => Array
            (
                [DisplayName] => Brand New
            )

        [1] => Array
            (
                [DisplayName] => Like New
            )

        [2] => Array
            (
                [DisplayName] => Very Good
            )

        [3] => Array
            (
                [DisplayName] => Good
            )

        [4] => Array
            (
                [DisplayName] => Acceptable
            )

    )
更新日期:2014年2月26日 自Ember Data 1.0 beta及更高版本以来,此答案中的代码不再有效


您可以通过两种方式处理此问题:

第一种方法是定义一个名为
App.ConditionValues
的模型,然后定义一个关系:

App.Category = DS.Model.extend({
  //.. your attributes
  conditionValues: DS.hasMany('App.ConditionValues')
});
第二种方法是创建自己的

然后在您的模型中:

App.Category = DS.Model.extend({
  //.. your attributes
  conditionValues: DS.attr('array')
});
更新日期:2014年2月26日 自Ember Data 1.0 beta及更高版本以来,此答案中的代码不再有效


您可以通过两种方式处理此问题:

第一种方法是定义一个名为
App.ConditionValues
的模型,然后定义一个关系:

App.Category = DS.Model.extend({
  //.. your attributes
  conditionValues: DS.hasMany('App.ConditionValues')
});
第二种方法是创建自己的

然后在您的模型中:

App.Category = DS.Model.extend({
  //.. your attributes
  conditionValues: DS.attr('array')
});

谢谢Teddy Zeenny,你认为哪种方法更好?我喜欢创建数组类型的想法,但如果它还不是Ember的一部分,我相信这是有原因的,所以有点倾向于第一种方法……我想说这取决于您的用例,如果
条件值
实际上是一个独立的模型,您希望对其执行CRUD操作,那么第一种方法更好。如果它只是一个在发送JSON之前动态生成的只读数组,那么使用选项2是安全的。这是有道理的,但是为什么在Ember中还没有实现呢?也许是为了防止混淆,因为大多数用例是第一选择。第二种情况非常罕见。对于潜伏者,当前的转换文档状态ex.2应该是:
App.ArrayTransform=DS.transform.extend({…})
谢谢Teddy Zeenny,您认为哪种方法更好?我喜欢创建数组类型的想法,但如果它还不是Ember的一部分,我相信这是有原因的,所以有点倾向于第一种方法……我想说这取决于您的用例,如果
条件值
实际上是一个独立的模型,您希望对其执行CRUD操作,那么第一种方法更好。如果它只是一个在发送JSON之前动态生成的只读数组,那么使用选项2是安全的。这是有道理的,但是为什么在Ember中还没有实现呢?也许是为了防止混淆,因为大多数用例是第一选择。第二种情况非常罕见。对于潜伏者,当前转换文档状态ex.2应该是:
App.ArrayTransform=DS.transform.extend({…})