私が実行しようとしているコード:
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 のこの構成はしばらくの間機能していました.. ?