Ember.js数组作为模型的属性

问题描述:

干杯! 我有一些模型,它的一个属性是一个数组,但由于某些原因(我在服务器上使用mongoDB,它是嵌入式模型和余烬数据的问题)我不能这样做:Ember.js数组作为模型的属性

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') 
}); 

但在灰烬数据属性都没有数组类型,如何做?

+0

在这里,我们需要更多的信息。我认为你正在寻找转变。 – albertjan 2013-02-14 17:32:26

+0

更新,谢谢。 – xamenrax 2013-02-14 18:58:56

我发现,其实你可以只是没有指定类型有阵性开箱。

#coffeescript 

AskuWhiteLabel.SomeModel = DS.Model.extend 
    some_ids: DS.attr() 

我使用这个,当我做到这一点

myModel.set('some_ids', [1,2,3]) 
myModel.save() 

有效载荷的服务器确实是我的数组是。

+2

干杯,安迪,我在13年2月14日问过这个问题,所以它可能已经过时或不适合了。 – xamenrax 2014-09-29 21:07:34

+0

@nikita没问题!是的,我没有找到任何文件,我想我只是试了一下。希望能帮助到你! – andy 2014-09-30 05:12:02

+1

是的,它帮助我:D – inquisitive 2015-04-17 13:25:26

对于这些,谁都有同样的问题我: 退房这样的回答:

https://stackoverflow.com/a/13884238/1662820

或者你也可以通过嵌入式型号的hasMany关系,并设置自定义主键的嵌入式模型在适配器中(在我的情况下是“数字”)。看看这个测试:

https://github.com/emberjs/data/blob/master/packages/ember-data/tests/integration/embedded/embedded_without_ids_test.js

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

从我真棒同事 '塞隆Humiston'

+0

什么是'生'?你是否定义了自定义转换? – kumkanillam 2018-02-13 03:11:20