错误 NodeStore 没有模型

发布于 2025-01-08 18:44:20 字数 970 浏览 0 评论 0原文

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

I'm using a TreeGrid to display some data.
Since I implemented the treegrid, extjs keeps throwing this error:

Store defined with no model. You may have mistyped the model name.

I debugged a bit and found out, that this is thrown because there is a "nodeStore" without model.

Where does this "nodeStore" come from and what am I doing wrong?

Store:

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,
    [..]

Model:

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: {}
}
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

乖不如嘢 2025-01-15 18:44:20

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

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

I've answered this elsewhere, but I think this question will be easier to find for people who do the debugging as you have:

This is a bug in NodeStore. You will always see this when you use a Tree Panel.

梦屿孤独相伴 2025-01-15 18:44:20

我唯一的猜测是您忘记将模型添加到 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,
    [..]

The only guess I have - is that you forgot to add your model into the models collection of you MVC app. You could also try to set require property in your store. Just put the same string as for the model property.

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,
    [..]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文