0

Ext から必要なものを取得するのに苦労しています。ネストされたパラメーターを使用して RESTful 応答を分割しようとしています。パラメータの 1 つはオブジェクトの配列で、各オブジェクトにはさらにいくつかのパラメータがあります。このタイプの応答を認識するためにモデル/ストア/ビューを構築するにはどうすればよいですか?

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

探しているパラメーターを反映する 2 つ目の野菜モデルが必要ですか? 野菜モデルの配列をルートに注入するにはどうすればよいですか?

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

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

1 に答える 1

0

モデル システムの完全な整合性が必要ない場合の 1 つのオプションは、type: 'auto'返された生データとしてデータを保持する を使用することです。その後、通常のJavaScriptmodel.get('veggies')オブジェクトのようにアクセスできるオブジェクトが提供されます。

于 2013-07-31T13:40:48.873 に答える