这是我的窗口和窗体:
Ext.define('App.view.Users.Update', {
extend: 'Ext.window.Window',
title: 'User',
width: 250,
id: 'UpdateWindowUsers',
defaultType: 'textfield',
items: [{
xtype: 'UpdateFormUsers'
}],
buttons: [
{ text: 'Save', id: 'submitUpdateFormButtonUsers'},
{ text: 'Cancel', id: 'cancelUpdateFormButtonUsers'},
]
});
Ext.define('App.view.Users.UpdateForm', {
extend: 'Ext.form.Panel',
alias: 'widget.UpdateFormUsers',
layout: 'form',
id: 'UpdateFormUsers',
bodyPadding: 5,
defaultType: 'textfield',
items: [{
fieldLabel: 'Id',
name: 'id',
hidden: true
},{
fieldLabel: 'username',
name: 'username',
allowBlank: false,
},{
fieldLabel: 'password',
name: 'password',
minLength : 5,
allowBlank: false
},{
fieldLabel: 'Email',
name: 'email',
minLength : 5,
vtype: 'email',
allowBlank: false
},{
fieldLabel: 'first name',
name: 'first_name',
allowBlank: false
},{
fieldLabel: 'last name',
name: 'last_name',
allowBlank: false
}],
});
它位于一个文件中:“ App / view / Users / Update.js ”。
所以,我正在创建一个对象:
var win = Ext.create('App.view.Users.Update');
它是用按钮创建的。但是当我用win.close()
关闭窗口时,当我关闭“边框”布局中的“标签”时,当我按下按钮再次创建同一个窗口时,它会显示(在我的控制台中)我正在重新创建一个具有相同“id”的对象。它已经在Ext.AbstractManager中注册。
如何完全摧毁物体?也许用 Ext.AbstractManager.unregister(win); 某事?
如果您需要更多代码,没问题。 :)谢谢。
P上。 S上。
我正在通过以下方式获取对我窗口的引用:
var window = Ext.ComponentQuery.query('#UpdateWindowUsers')[0];
window.close();
window.close()实际上是否会破坏它内部的面板?
答案 0 :(得分:0)
解决了它。
这==控制器
if(this.isCreated){
this.control(listeners);
}
我将isCreated
属性放在Controller中。