我试图做一个动态配置的模型存储工作.
如果我只使用商店它会工作;
var gridStore = Ext.create('Ext.data.JsonStore', {
fields: modelTableStructure['fieldsModel'],
proxy: {
type:'ajax',
url: Ext.ux.db.vars.urlGetTableData,
actionMethods: {
read: 'POST'
},
extraParams:{
servidorSql: serverConfig.servidorSql,
dbLogin: serverConfig.dbLogin,
dbPass: serverConfig.dbPass,
db:db,
tabla:tabla
}
},
autoLoad: true
});
Run Code Online (Sandbox Code Playgroud)
但如果我介绍一个模型它WONT工作;
var gridModel = Ext.create('Ext.data.Model',{
fields: modelTableStructure['fieldsModel']
});
var gridStore = Ext.create('Ext.data.JsonStore', {
model: gridModel,
proxy: {
type:'ajax',
url: Ext.ux.db.vars.urlGetTableData,
actionMethods: {
read: 'POST'
},
extraParams:{
servidorSql: serverConfig.servidorSql,
dbLogin: serverConfig.dbLogin,
dbPass: serverConfig.dbPass,
db:db,
tabla:tabla
}
},
autoLoad: true
});
Run Code Online (Sandbox Code Playgroud)
萤火虫的错误; 字段未定义.我试图使用构造函数分离存储和模型在单独的文件(典型的Ext JS 4 MVC)中并跟踪每个变量是否正确; 同样的错误.
提前致谢.
您必须使用Ext.define模型定义,因为Ext.create当新的"记录"添加到商店时,商店将执行模型.您已经假设该模型已经定义了字段Ext.create('myGridModel',{}).
例如,
Ext.define('myGridModel', {
extend: 'Ext.data.Model',
fields: modelTableStructure['fieldsModel']
});
var gridStore = Ext.create(Ext.data.Store, {
model: 'myGridModel',
// other config options below
});
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅此