Javascript Extjs未从存储加载数据
我正在学习extJS,并尝试创建简单的应用程序和指南 我的app.js文件: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"
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
onProxyLoad
函数)
这是我在浏览器中看到的:
完整的js应用程序生活
我的视图文件是
我正在使用extjs4.2,这真是太愚蠢了。问题出在功能上。当我从商店中删除它时,这个应用程序正如我所期望的那样工作 是的,通常最好不要覆盖私有成员,但如果覆盖了私有成员,则可以包含行
this.callParent(参数)
或this.calloverrided(参数)代码>在旧版本的框架上-在函数内部,以确保保留默认行为。