すぐに使用できる ExtJS デスクトップの例に非常によく似た動作中の Web デスクトップ アプリがあります。ここには、クリックするとウィンドウが生成されるアイコンがいくつかあります。
私はプログラムで同じことを行う方法を理解しようとしています:
var x = Ext.create('MyApp.view.users.Module')
x.launcher.handler();
これは createWindow() 関数を呼び出します。その最初の行は次のとおりです。
var b = this.app.getDesktop();
この行は爆撃します:
未定義のメソッド「getDesktop」を呼び出せません
これは明らかに、「これ」には「アプリ」がないことを意味します。
私は ExtJS の初心者で、モジュールをアプリに関連付ける方法や、アイコンをクリックする方法でモジュールを適切に取得する方法がわかりません。どんな助けでも大歓迎です。
モジュールコード:
Ext.define('MyApp.view.users.Module', {
requires: ["Ext.tab.Panel"],
alias: 'widget.usersmodule',
extend: 'Ext.ux.desktop.Module',
id: 'users-module-win',
itemId: 'usersmodule',
init: function(){
this.launcher = {
handler: this.createWindow,
iconCls: 'icon-users',
scope: this,
text: 'Users',
windowId: 'users-module-win'
}
},
...
createWindow: function(){
var b = this.app.getDesktop();
var a = b.getWindow('users-module-win');
...
a.show();
return a
},
...
});