我正在尝试运行的代码:
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);
对我而言没有任何意义,我是否已经使用其他类型的模型做了完全相同的事情并且它完美地工作......但是这种类型的模型只是不...这非常令人沮丧..
经过多次更新后,我可以肯定地说,触发错误的是以下代码示例中的任何一个,即崩溃商店使用的Dataview和Dataview Item(categoryStore)
数据视图代码
{
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的这种配置确实有效..?