Ext.panel.Panelを拡張するクラスがあります。
簡略化されたコード:
Ext.define("some.namespace.MyOwnPanel", {
extends: "Ext.panel.Panel",
constructor: function (config) {
var me = this;
Ext.apply(this, config);
this.callParent(arguments);
this.layout = "border";
this.centerPanel = Ext.create("Ext.panel.Panel" , {
region: "center",
layout: "fit",
border: false
});
this.westPanel = Ext.create("Ext.panel.Panel", {
region: "west",
layout: "fit",
border: false
});
this.add(this.centerPanel);
this.add(this.westPanel);
this.on("afterrender", function () {
// create grid for center panel. Data is loaded with AJAX in that function and the component is also added to this.centerPanel
me.createGrid();
});
}
}
動作してアフターレンダーイベントが発生することもありますが、動作せずにWebアプリケーションがクラッシュすることもあります。エラーは発生しませんが、extコンポーネントの作成はその時点を超えて停止します。
私は多くのことを試みました。ほとんどが同僚によって書かれた元のコードには、4.1と互換性のあるExtjs3.1コードの痕跡が多く含まれています。適切な4.1コードに書き直そうとしましたが、成功しませんでした。コードをinitComponentメソッドに移動しようとしましたが、失敗しました。
これを修正する方法については、これ以上のアイデアはありません。誰かが以前にそのようなことに遭遇したことがありますか、そしてあなたは何をしましたか?教えてください!