Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.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

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
Javascript Ember.js数组作为模型';s属性_Javascript_Ember.js_Ember Data - Fatal编程技术网

Javascript Ember.js数组作为模型';s属性

Javascript Ember.js数组作为模型';s属性,javascript,ember.js,ember-data,Javascript,Ember.js,Ember Data,干杯! 我有一些模型,它的一个属性是数组,但由于某些原因(我在服务器上使用mongoDB,它与嵌入式模型和ember数据有关),我不能这样做: App.Foo = DS.Model.extend({ ... numbers: DS.hasMany('App.Bar') )}; App.Bar = DS.Model.extend({ ... number: DS.attr('number') }); App.Bar = DS.Model.extend({ numbers:

干杯! 我有一些模型,它的一个属性是数组,但由于某些原因(我在服务器上使用mongoDB,它与嵌入式模型和ember数据有关),我不能这样做:

App.Foo = DS.Model.extend({
  ...
  numbers: DS.hasMany('App.Bar')
)};

App.Bar = DS.Model.extend({
  ...
  number: DS.attr('number')
});
App.Bar = DS.Model.extend({
  numbers: DS.attr('array')
});
我需要这样的东西:

App.Foo = DS.Model.extend({
  ...
  numbers: DS.hasMany('App.Bar')
)};

App.Bar = DS.Model.extend({
  ...
  number: DS.attr('number')
});
App.Bar = DS.Model.extend({
  numbers: DS.attr('array')
});

但是余烬数据中没有数组类型的属性,如何设置?

对于那些与我有相同问题的人: 看看这个答案:

或者,您可以传递具有hasMany关系的嵌入式模型,并在适配器中为嵌入式模型设置自定义主键(在我的示例中为“number”)。看看这些测试:


我发现,实际上,只要不指定类型,就可以直接获得数组属性

#coffeescript

AskuWhiteLabel.SomeModel = DS.Model.extend
    some_ids: DS.attr()
我在用这个,当我这么做的时候

myModel.set('some_ids', [1,2,3])
myModel.save()
服务器的有效负载实际上是我的阵列

anArrayAttr: DS.attr('raw', { defaultValue: function() { return []; } })

来自我的杰出同事“塞隆·哈米斯顿”

我们需要更多信息。我想你正在寻找一种转变。干杯,安迪,我在2月14日13日问了这个问题,所以它可能是过时的或smth。@nikita没问题!是的,我没有找到任何文档,我想我只是试过了。希望有帮助!是的,它帮助了我:什么是原始的?您定义了自定义转换吗?DS.attr()本身就足够了