Мне нужно создать панель инструментов, которая вычисляет свои элементы по запросу ajax.Посмотрите на обе функции initComponent и buildItems, я не получаю одинаковый результат для элементов toolbar.items, даже выполнение ajax-запроса выполнено правильно, как вы видите в методе builsItems после вызова console.log.Пожалуйста, помогите (я новичок, я использую Extjs 4) Большое спасибо.
Ext.define('Dev.view.layout.Toolbarapp',{
extend:'Ext.toolbar.Toolbar',
alias :'widget.toolbarapp',
border:false,
height:35,
initComponent:function(){
this.items=[];
Ext.Ajax.disableCaching=false;
Ext.Ajax.request({
url : '/gdev/jsontest',
callback:this.buildItems,
scope:this
});
console.log(this.items); //THE RESULT IS []
this.callParent(arguments);
},
buildItems:function(options, sucess, response){
if (sucess==true) {
var listItems=[];
var applist=Ext.JSON.decode(response.responseText);
Ext.each(applist, function(rec){
listItems.push({'text' :rec.appid,
'iconCls' :rec.iconcls,
'operation':rec.appcode
}
);
});
this.items=listItems;
console.log(this.items); //THE RESULT IS [Object { text=100,
iconCls="appsysadmin", operation="appsysadmin"}, Object { text=101,
iconCls="appmailxe", operation="appmailxe"}]
}
else {
Ext.MessageBox.alert('Error','not found');
}
}
});