Die Zerstörung der Fenster

Ich bin mit ExtJs4.

new Ext.Window({
    id: token + '_window',
    animateTarget: token + '_taskbar',  //Button id
    height: 300,
    width: 300,
    title: name,
    maximizable: true,
    minimizable: true,
    iconCls: 'basketball-small-icon',
    html: 'This is the <b>' + name + '</b> window',
    listeners: {
        'beforeclose': onWindowClose,
        'minimize': function(){ this.hide(); }
    }

Hinweis: die Schaltfläche, die den animieren-Ziel verbunden ist.
Hier zum ist definiert als

function onWindowClose(t){
var token = t.id.split('_')[0];
var taskBarItemId = token + '_taskbar';

Ext.getCmp(taskBarItemId).destroy(); //Destroying the button
t.destroy();  //Destroying the window
}

Hier möchte ich entfernen Sie die Fenster und die zugehörige Schaltfläche.
Jedesmal, wenn ich das Fenster schließe, habe ich zwei Möglichkeiten, wie unten

  • Ich zerstören können sowohl die Taste und das Fenster auf aber manchmal kann ich nicht öffnen Sie die Fenster wieder. Ich denke, das hat etwas mit der Tatsache zu tun, dass der button ist mit "Fenster " animateTarget'. Weil, wenn ich entfernen Sie diese Eigenschaft, diese funktioniert einwandfrei.
  • Ich kann t verwenden.close() anstelle von t ist.destroy(), aber es wird rekursiv. Wie kann ich rufen Sie die base-Methode schließen?

Ist es eine gute Idee zu zerstören, das Fenster jedes mal und erstellen Sie mit 'neu', wenn das icon angeklickt wird?
Was ist der Unterschied zwischen close() und destroy() Methoden?

InformationsquelleAutor Shashwat | 2012-02-23

Schreibe einen Kommentar