2016-09-23 46 views
0

找到模型在我的餘燼的應用程序,我有一個複雜的模型,看起來像下面(一種含有2維數組)灰燼憑身份證

[ 
    [ 
     { 
      id: 'Section1_123', 
      label: 'abc' 
     }, 
     { 
      id: 'Section1_456', 
      label: 'xyz' 
     } 
    ] 
], 
[ 
    [ 
     { 
      id: 'Section2_123', 
      label: 'abc' 
     }, 
     { 
      id: 'Section2_456', 
      label: 'xyz' 
     } 
    ] 
] 

有很多其他的屬性,但是這是總體結構。

現在我的問題是我可以鑽取&找到一個特定的對象。它有獨特的ID(如上例所示)

所以我需要類似model.findBy(Id) 然後我需要更改/設置該對象的一些值。假設我想將obj.label從'abc'更改爲'abc_NEW'

只是要添加,主模型實際上是一個簡單的JS數組...但內部對象(例如那些id:'Section1_123'等)實際上是Ember對象

+0

你在你的應用中使用EmberData嗎? – Crabar

+0

我把它作爲依賴項,但沒有真正使用它 – testndtv

回答

0

使用Ember中的數據的最常見方法是EmberData。而因爲Ember的主要信條是「約定優於配置」,所以在我看來,Ember中的常見方式是最好的方式。

如何處理數據格式有很多種方法。我建議每個項目創建模型:

import DS from 'ember-data'; 

export default DS.Model.extend({ 
    label: DS.attr() 
    // other properties 
}); 

然後你就可以根據this article自定義序列。目標是將您的陣列轉換爲EmberData模型列表。

在此之後,您可以使用標準EmberData functions to work with data(當然包括通過對象ID訪問)。