0

そこで、データビューとリスト形式のカードを実装して、json をストアに表示しました。データが同じであるため、2 つのビューで 1 つのストアを共有しようとしています。ただし、私がやっている方法は実際には機能していません。Dataview または List しかない場合は正常に機能します。両方とも店に電話すると、動かなくなります...助けてください!

データビュー:

Ext.define('Sencha.view.hoardboard.HoardList', {
   extend: 'Ext.DataView',
   xtype: "hoardlist",
   requires: ['Ext.XTemplate'],
   config: {

                flex:1,
                scrollable: true,
                store: 'Plist',   
                baseCls: 'columns',

                itemTpl: '<div class=pin><img src={image}><div style="padding-top: 10px; padding-left: 20px; padding-right:20px">{name}<br>{brand}</div></div>'

   }
});

リストビュー

Ext.define('Sencha.view.hoardboard.HoardList2', {
   extend: 'Ext.List',
   xtype: "hoardlist2",

   config: {
     flex:1,
     scrollable: true,
     store: 'Plist',   
     grouped: true,
     itemTpl: '{name}'
   }
});

モデル

Ext.define('Sencha.model.HoardList', {
        extend: 'Ext.data.Model',
        config: {
            fields: [
                {
                    name: 'name',
                    type: 'string'
                }, 
                {
                    name: 'image',
                    type: 'string'
                },
                {
                    name: 'type',
                    type: 'string'
                },
                {
                    name: 'brand',
                    type: 'string'
                }
                , 
                {
                    name: 'color',
                    type: 'string'
                },
                 {
                    name: 'description',
                    type: 'string'
                }

            ]

        }
    });

Ext.define('Sencha.store.HoardList',{
    extend: 'Ext.data.Store',
    storeId: 'Plist',
    model:'Sencha.model.HoardList',
    title: 'My Collection',
    autoLoad: true,
    sorters: 'name',
    grouper: {
        groupFn: function(record) {
            return record.get('name')[0];
        }
    },
    proxy: {
            type: 'ajax',
            url : 'products.json',
            reader: {type: 'json', rootProperty:'products'}

        }

});

どうもありがとう!

4

1 に答える 1

0

一般的に言えば、Sencha フレームワークを使用している場合、複数のビジュアル コントロール間で 1 つのストア オブジェクトを共有することはありません。

2 つの場所で同じストアを使用する場合は、それを複製して、2 つの別個のストア オブジェクトを用意する必要があります。

于 2013-06-08T04:35:21.273 に答える