我试图运行的代码:
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 项的这种配置确实工作了一段时间..?