ExtJs 4を把握していて、グリッド上のダブルクリックイベントでモーダルウィンドウを表示している問題があります。私が構築するためにJavaScriptを生成するコードだとして が(私は親コンテナオブジェクトmyCmpを使用しました:グリッド・コンポーネントに定義されたExtJs 4 - Window.show() - ウィンドウのサイズが非常に小さい
リスナー:myCmpの
"listeners": {
"itemdblclick": function() {
var win =Ext.getCmp('myCmp');
win.myWindow.show();
}
}
以前に定義されたプロパティは、ウィンドウの成分であることがExtJSのコンフィグ)
myCmp.myWindow = Ext.create('Ext.window.Window',{
"layout": "fit",
"items": [
....
],
"title": "Hello Window",
"width": "300",
"height": "300",
"id": "myWindow"
});
ロジックは、ウィンドウが)計6Px X計6Px(非常に小さく表示されている)私は(myCmp.myWindow)ウィンドウオブジェクトが存在して、グリッドをダブルクリックが、私はショー(呼び出すときに、よく働きます。
私はハンドラを変更した場合:
Ext.create('Ext.window.Window',{
"layout": "fit",
"items": [
....
],
"title": "Hello Window",
"width": "300",
"height": "300",
"id": "myWindow"
}).show();
それは大丈夫動作します。明らかに、これは新しいウィンドウインスタンスを作成しています。
アイデア?私はこの権利をしていますか?あなたが直接あなたのウィンドウを参照することができたときに、事前に
おかげで
SAM
高さと幅の文字列はタイプミスですが、実際の実装ではintを使用しています。返信の最初のメソッドはまったく同じ結果になりますが、使用するたびにウィンドウを作成して破棄しなければならないということです。私はExtJsの例を見てきましたが、ウィンドウオブジェクトをvarに保持して再利用するので、それがベストプラクティスと推測されました。 – sambomartin
あなたはアブデルが弦であることを知っています、それは私が見ていた別の物体でした。謝罪、そして良い点。ありがとう。 – sambomartin
破棄して再作成するかどうかはアプリケーションによって決まります。どのくらいの頻度でウィンドウを使用しますか?複雑さを軽減するためにウィンドウを表示するようにコードを修正しました。入力ミスによってエラーが修正されているはずです。 –