簡體   English   中英

Ember.js數組作為模型的屬性

[英]Ember.js array as model's property

干杯! 我有一些模型,它的一個屬性是一個數組,但由於某些原因(我在服務器上使用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')
});

但是在ember-data中沒有數組類型的屬性,怎么樣?

我發現實際上你可以通過不指定類型來獲得開箱即用的數組屬性。

#coffeescript

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

我正在使用它,當我這樣做時

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

服務器的有效負載確實是我的數組。

對於那些和我有同樣問題的人:看看這個答案:

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 []; } })

來自我真棒的同事'Theron Humiston'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM