0

JSON経由でアクセスできる外部データベースにデータがあります。ここで、これらのデータセットにさまざまなビューを提供したいと思います(たとえば、さまざまな並べ替えなど)。これに1つのストアを使用することは可能ですか、それとも別のソーターを除いて同じURLにアクセスする2つのストアが必要ですか?

私のサンプルコードは次のようになります。

Ext.define('MyApp.store.MyStore', {
extend: 'Ext.data.Store',
requires: [
    'MyApp.model.MyModel'
],

config: {
    autoLoad: true,
    model: 'MyApp.model.MyModel',
    storeId: 'MyJsonStore',
    proxy: {
        type: 'ajax',
        url: 'http://localhost/index.php?data=MyData&format=json',
        reader: {
            type: 'json'
        }
    },
    sorters: [
        {
            direction: 'DESC',
            property: 'MyRating'
        },
        {
            direction: 'ASC',
            property: 'MyLabel'
        }
    ] } });

そして、1つのビューは評価でソートされたリストをレンダリングし、2番目のビューはラベルでソートされたリストを表示するはずです。

DBへの2回のクエリを防ぐ方法はありますか?

ありがとう-私はSenchaTouchとExtJSを始めたばかりです---したがって、私の簡単な質問を許してください;)
どういうわけか、この基本的なタスクをGoogleに依頼しても、スマートな解決策を見つけることができませんでした。

4

1 に答える 1

1

2つのビューが同時に表示されない限り、何も心配する必要はありません。同じストアをローカルで並べ替えるだけです。

それらが同時に提示される場合は、ストアのコピーを作成する必要があります。それ以外の場合は、まったく同じ情報が表示されます。

于 2012-05-08T18:15:37.177 に答える