2013-07-31 55 views
0

我很難得到我想要的內部分機。我試圖用嵌套參數分隔一個RESTful響應。其中一個參數是一個對象數組,其中每個對象都有幾個參數。我如何構建模型/商店/視圖來識別這種類型的響應?ExtJs 4數據協會

response = { 
    stuffINeed: { 
    animals, 
    fruits, 
    veggies = { 
     cucumbers, 
     apples, 
     pears, 
     squash = { 
     winter, 
     pumpkin, 
     summer = { 
      yellow, 
      green 
     } 
     } 
    } 
    }, 

    stuffIDontNeed: { 
    ... 
    }, 

    moreStuffIDontNeed: { 
    ... 
    } 
} 

如何使用關聯建立我的模型/商店?讓我們假設「基地」的模式是這樣的:

Ext.define('MyApp.model.StuffINeed', { 
    extend: 'Ext.data.Model', 
    fields: [ 
     {name: 'animals', type: 'boolean'}, 
     {name: 'fruits', type: 'boolean'}, 
     {name: 'veggies', type: 'array'} 
    ], 

    hasMany: [{name: 'veggies', model: 'veggieModel'}], 

    proxy: { 
     type: 'REST', 
     url: '/someserver' 
     reader: { 
     root: 'data', 
     totalProperty: 'totalCount' 
     } 
    } 
    } 

我需要一個反映我正在尋找的參數第二蔬菜模式?如何將一系列素食模型注入到根中?

Ext.define('MyApp.model.Veggie', { 
    extend: 'Ext.data.Model', 
    fields: [ 
    {name: 'cucumbers'}, 
    {name: 'apples'}, 
    {name: 'pears'}, 
    {name: 'squash', type: 'array'} 

    belongsTo: 'MyApp.model.StuffINeed' 
    ] 
}); 

回答

0

一種選擇,如果你不需要模型系統的全面完整,是隻使用type: 'auto',作爲原始數據返回其保存數據。然後你的model.get('veggies')會給你一個對象,你可以像普通的javascript對象一樣訪問。

+0

這很好,但我正在編輯的模型中已經存在大約20個其他屬性。我無法重構那種方式。 – Clev3r