0

私が実行しようとしているコード:

var test = Ext.create(APPNAME+'.model.Category');
test.set('strTitle','batard');
Ext.getStore('categorystore').add(test);

**APPNAME は、アプリケーションの名前/名前空間に設定されたグローバル変数であり、それ以外の場合でも機能し、このコードでクラッシュする行ではありません。

モデル カテゴリの定義:

Ext.define('CarboZero.model.Category', {
    extend: 'Ext.data.Model',

    config: {
        fields: [
            {
                name: 'strTitle'
            },
            {
                name: 'numTotal'
            },
            {
                name: 'arrSubCategory'
            },
            {
                name: 'arrSubTotal'
            }
        ]
    }
});

店の定義:

Ext.define('CarboZero.store.CategoryStore', {
    extend: 'Ext.data.Store',

    requires: [
        'CarboZero.model.Category'
    ],

    config: {
        clearOnPageLoad: false,
        model: 'CarboZero.model.Category',
        storeId: 'categorystore'
    }
});

私が得ているエラー: エラー

このコード行に戻ります...

Ext.getStore('categorystore').add(test);

私には意味がありません.別のタイプのモデルでまったく同じことをしたことがありますか?それは完全に機能します.しかし、このタイプのモデルでは..

さらにデバッグを行った後、エラーの原因は次のコード サンプルのいずれかにあると確信できます。これは、クラッシュしているストア (categoryStore) で使用される Dataview および Dataview Item です。

データビュー コード

{
     xtype: 'dataview',
     itemId: 'category_List',
     ui: 'round',
     defaultType: 'categorytag',
     store: 'categorystore',
     useComponents: true
}

データビュー アイテム コード

Ext.define('CarboZero.view.CategoryTag', {
    extend: 'Ext.dataview.component.DataItem',
    alias: 'widget.categorytag',

    config: {
        padding: 10,
        autoDestroy: false,
        layout: {
            type: 'hbox'
        },
        items: [
            {
                xtype: 'label',
                html: 'CategoryTitle',
                itemId: 'category_Label'
            },
            {
                xtype: 'spacer',
                itemId: 'spacer'
            },
            {
                xtype: 'label',
                html: 'Total',
                itemId: 'total_Label'
            }
        ]
    },

    updateRecord: function(record) {
        var me = this;

        me.getComponent('category_Label').setHtml(record['strTitle']);
        me.getComponent('total_Label').setHtml(record['numTotal']);


    }

});

参考までに: 不思議なことに、Dataview と Dataview Item のこの構成はしばらくの間機能していました.. ?

4

0 に答える 0