У меня есть окно с closeAction
, выполненным с возможностью 'hide'
на конкретизации:ExtJS: Уничтожить окно конфигурации «closeAction» установлен в «шкуру»
var myWin = Ext.create('Ext.window.Window', {
...
closeAction:'hide',
...
});
Вызов close()
на myWin
поэтому просто скрывает окно. Мне нужно уничтожить окно в смысле destroy
, как следует из документации Сенча:
удалить окно из DOM и уничтожить его и всех потомков компонентов. Окно не будет доступно для повторного отображения с помощью метода show .
Что я попробовал? Я пробовал:
вызова
destroy
непосредственно на объект окна:myWin.destroy();
установки
closeAction
вdestroy
до вызоваclose()
:win.closeAction='destroy'; win.close();
В обоих случаях, myWin
просто скрывается, а не разрушается. Есть предположения?
С 'Destroy()' он совершенно разрушен: http://jsfiddle.net/5BcBd/1/. – VisioN
@VisioN Спасибо за ваш комментарий. Как вы проверяете, просто ли он скрыт или фактически уничтожен? В моем случае я могу повторно показать окно, поэтому я выяснил, что он скрыт и не уничтожен. –
Я обновил скрипту в комментарии выше, чтобы отобразить содержимое 'body' до и после удаления. Как правило, для этого вы можете использовать Chrome DevTools или Firebug. В случае 'destroy()' структура DOM удаляется, и если вы попытаетесь вызвать 'show()' впоследствии, JS вызовет ошибку. – VisioN