1

我正在使用 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: {}
}
});
4

2 回答 2

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,
    [..]
于 2012-02-24T09:35:44.997 回答
0

我已经在其他地方回答了这个问题,但我认为对于像你一样进行调试的人来说,这个问题会更容易找到:

这是 NodeStore 中的一个错误。当您使用树面板时,您将始终看到这一点。

于 2012-02-24T13:03:39.473 回答