HI im getting this error after executing my code. It says "Uncaught typeError: Cannot read property 'isModel' of undefined".Im trying to display a list using my defined model named "model.login" and a store with dummy data.
Ext.Loader.setConfig({
enabled: true,
paths:{
'model' : 'app/model',
'store' : 'app/store'
}
});
Ext.application({
name: 'GS',
launch: function(){
var myStore = null;
Ext.require('model.login', function(){
var login = Ext.create('model.login');
myStore = new Ext.data.Store({
model: login,
data:[
{id:'09803' , issued_at: 'thisurl', instance_url:'https', signature:'token', access_token:'ser'}
]
});
});
this.viewport = new Ext.Panel({
fullscreen: true,
items:[
{
xtype: 'list',
itemTpl: '{id}',
store: myStore
}
]
});
}
});
Your call to create the viewport is happening before model.login
is loaded and your store is created. Move the code to create the viewport into the callback for your Ext.require
.
Also, when passing a model into the store, you pass the model constructor, not an instance of it.
Ext.application({
name: 'GS',
launch: function(){
this.viewport =
var me = this;
Ext.require('model.login', function(){
myStore = new Ext.data.Store({;
me.viewport = new Ext.Panel({
fullscreen: true,
// You can pass a single item into item
items:{
xtype: 'list',
itemTpl: '{id}',
store: myStore
}
});
});
}
});
Note that there's a better way to do this, you can tell the application what models to load and inline some of your calls to make it easier to read
Ext.application({
name: 'GS',
models: 'login', // looks in GS.model.login
launch: function(){
me.viewport = new Ext.Panel({
fullscreen: true,
// You can pass a single item into item
items:{
xtype: 'list',
itemTpl: '{id}',
store: {
model: 'model.login', // or GS.model.login without quotes
data:[
{id:'09803' , issued_at: 'thisurl', instance_url:'https', signature:'token', access_token:'ser'}]
}
}
});
}
});