Javascript Extjs未从存储加载数据

Javascript Extjs未从存储加载数据,javascript,extjs,extjs4,Javascript,Extjs,Extjs4,我正在学习extJS,并尝试创建简单的应用程序和指南 我的app.js文件: sstore = new Ext.data.Store({ autoLoad: true, fields: ['firstName', 'lastName', 'educationId', 'townId'], proxy: { type: "ajax", url: "data", reader: { type:"json"

我正在学习extJS,并尝试创建简单的应用程序和指南

我的app.js文件:

sstore = new Ext.data.Store({
    autoLoad: true,
    fields: ['firstName', 'lastName', 'educationId', 'townId'],
    proxy: {
        type: "ajax",
        url: "data",
        reader: {
            type:"json",
            root: "users"
        }
    }
});


Ext.application({
    name: 'Application',
    autoCreateViewport: true,
    controllers: ['MainController']
});
Viewport.js

Ext.define('Application.view.Viewport', {
    extend: 'Ext.container.Viewport',
    layout: { type: "vbox", align: 'stretch' },

    items :  [{
        xtype: 'mainList',
        autoScroll: true
    }]
});
Ext.define('Application.view.List', {
    extend: 'Ext.grid.Panel',
    alias : 'widget.mainList',
    title : 'Users',

    store: sstore,     // ***** LOOK HERE PLEASE *****
    //store: 'Users',

    columns: [
        { header: 'Имя',  dataIndex: 'firstName' },
        { header: 'Фамилия', dataIndex: 'lastName' },
        { header: 'Образование', dataIndex: 'educationId'},
        { header: 'Город', dataIndex: 'townId'}
    ]
});
List.js

Ext.define('Application.view.Viewport', {
    extend: 'Ext.container.Viewport',
    layout: { type: "vbox", align: 'stretch' },

    items :  [{
        xtype: 'mainList',
        autoScroll: true
    }]
});
Ext.define('Application.view.List', {
    extend: 'Ext.grid.Panel',
    alias : 'widget.mainList',
    title : 'Users',

    store: sstore,     // ***** LOOK HERE PLEASE *****
    //store: 'Users',

    columns: [
        { header: 'Имя',  dataIndex: 'firstName' },
        { header: 'Фамилия', dataIndex: 'lastName' },
        { header: 'Образование', dataIndex: 'educationId'},
        { header: 'Город', dataIndex: 'townId'}
    ]
});
存储(Users.js):

当我在我的List.js文件中的
store:sstore
上更改
store:'Users'
时,它不会加载任何数据,但使用app.js文件中创建的存储,它位于sstore变量中,工作正常

我尝试了什么,但没用:

  • 使用内存代理
  • 已使用
    store:Ext.data.StoreManager.lookup('usersStore'),
  • 后端数据没有问题(因为
    sstore
    工作正常)
我可以看到,Users.js中的存储正在加载(因为控制台输出来自
onProxyLoad
函数)

这是我在浏览器中看到的:

完整的js应用程序生活

我的视图文件是


我正在使用extjs4.2,这真是太愚蠢了。问题出在功能上。当我从商店中删除它时,这个应用程序正如我所期望的那样工作

是的,通常最好不要覆盖私有成员,但如果覆盖了私有成员,则可以包含行
this.callParent(参数)
this.calloverrided(参数)在旧版本的框架上-在函数内部,以确保保留默认行为。