我正在使用TreeGrid来显示一些数据。 自从我实现了treegrid以来,extjs一直在抛出这个错误:
没有型号定义的商店。您可能输错了型号名称。
我调试了一下并发现,这是因为有一个没有模型的“nodeStore”而被抛出。
这个“nodeStore”来自哪里,我做错了什么?
商店:
Ext.define('AM.store.AdvertiserStatistics', {
extend: 'Ext.data.TreeStore',
model: 'AM.model.AdvertiserStatistic',
autoLoad: false,
folderSort: true,
startDate: new Date().getTime(),
endDate: new Date().getTime(),
nodeType: 'weekly',
parentId: null,
[..]
型号:
Ext.define('AM.model.AdvertiserStatistic', {
extend: 'Ext.data.Model',
fields: [
{
name:'id',
type:'int',
useNull:true
},
'email',
'clientname',
],
proxy:{
type:'ajax',
reader:{
type:'json',
root:'data'
},
api:{
read:BASE_PATH + 'advertisers/index/stats:true/',
destroy: BASE_PATH + 'advertisers/index/stats:true/'
},
base_api: {}
}
});
答案 0 :(得分:0)
我唯一的猜测是你忘记将你的模型添加到MVC应用程序的模型集合中。您还可以尝试在商店中设置require属性。只需输入与模型属性相同的字符串。
Ext.define('AM.store.AdvertiserStatistics', {
extend: 'Ext.data.TreeStore',
model: 'AM.model.AdvertiserStatistic',
require: 'AM.model.AdvertiserStatistic', //this!
autoLoad: false,
folderSort: true,
startDate: new Date().getTime(),
endDate: new Date().getTime(),
nodeType: 'weekly',
parentId: null,
[..]
答案 1 :(得分:0)
我已经在其他地方回答了这个问题,但我认为对于那些进行调试的人来说,这个问题会更容易找到:
这是NodeStore中的一个错误。使用树面板时,您将始终看到这一点。