ajax リクエストからアイテムを計算するツールバーを作成する必要があります。initComponent と buildItems の両方の関数を見てください。console.log を呼び出した後、builsItems メソッドで確認できるように、Ajax リクエストの実行が正しく行われたとしても、toolbar.items 要素の同じ結果が得られません。助けてください (私は初心者で、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');
}
}
});