Class 除了通过Id之外,还有其他方法访问类吗?
我怎样才能访问这个类,我需要我的动态ID来做其他事情。。。通常,如果这是//var something=Ext.create(…我会做点什么。getForm().load…?)Class 除了通过Id之外,还有其他方法访问类吗?,class,forms,extjs,load,extjs4,Class,Forms,Extjs,Load,Extjs4,我怎样才能访问这个类,我需要我的动态ID来做其他事情。。。通常,如果这是//var something=Ext.create(…我会做点什么。getForm().load…?) Ext.define('app.winKontakt'{ 扩展:'Ext.form.Panel', closable:是的, id:“myId”,我刚开始使用ExtJS,所以可能有更好的实践 您可以将itemId分配给组件并使用来获取它 Ext.define('app.view.contact.Form', { ex
Ext.define('app.winKontakt'{
扩展:'Ext.form.Panel',
closable:是的,
id:“myId”,我刚开始使用ExtJS,所以可能有更好的实践
您可以将itemId分配给组件并使用来获取它
Ext.define('app.view.contact.Form', {
extend: 'Ext.form.Panel',
itemId: 'myId',
buttons: [{
text: 'Load',
handler: function(){
Ext.ComponentQuery.query('#myId').getForm().load({...});
}
}]
})
另一个选项是使用AbstractComponent中的函数获取封闭表单
Ext.define('app.view.contact.Form', {
extend: 'Ext.form.Panel',
buttons: [{
text: 'Load',
handler: function(){
this.up('form').load({...});
}
}]
})
我通常不会在视图定义中放入任何代码,而是使用Ext.app.Controller中的函数来进行适当的MVC分离:
Ext.define('app.controller.Contacts', {
extend: 'Ext.app.Controller',
views: ['app.view.contact.Form'],
init: function() {
this.control({
'button[action=load]': {
click: this.loadForm
}
})
}
loadFrom: function() {...}
})
Ext.define('app.view.contact.Form', {
extend: 'Ext.form.Panel',
buttons: [{
text: 'Load',
action: 'load'
}]
})
在这个小示例中,它看起来很像一些开销,但是对于更大的代码库,控制函数非常便于理解从复杂视图发送到控制器的事件。我刚开始使用ExtJS,因此可能有更好的实践
您可以将itemId分配给组件并使用来获取它
Ext.define('app.view.contact.Form', {
extend: 'Ext.form.Panel',
itemId: 'myId',
buttons: [{
text: 'Load',
handler: function(){
Ext.ComponentQuery.query('#myId').getForm().load({...});
}
}]
})
另一个选项是使用AbstractComponent中的函数获取封闭表单
Ext.define('app.view.contact.Form', {
extend: 'Ext.form.Panel',
buttons: [{
text: 'Load',
handler: function(){
this.up('form').load({...});
}
}]
})
我通常不会在视图定义中放入任何代码,而是使用Ext.app.Controller中的函数来进行适当的MVC分离:
Ext.define('app.controller.Contacts', {
extend: 'Ext.app.Controller',
views: ['app.view.contact.Form'],
init: function() {
this.control({
'button[action=load]': {
click: this.loadForm
}
})
}
loadFrom: function() {...}
})
Ext.define('app.view.contact.Form', {
extend: 'Ext.form.Panel',
buttons: [{
text: 'Load',
action: 'load'
}]
})
在这个小示例中,它看起来很像一些开销,但对于更大的代码库,控制函数非常方便,可以理解从复杂视图发送到控制器的事件。不,这不起作用,但谢谢。我想我需要以某种方式获取类名(app.winKontakt)然后加载到其中。抱歉@Ingol,我忘了使用#来引用项目id。我更新了答案并添加了两种可能性。是的,这个.up('form')工作,也刚刚开始,所以MVC肯定是下一步,非常感谢!不,这不起作用,但谢谢。我想我需要以某种方式获得类名(app.winKontakt)然后加载到其中。抱歉@Ingol,我忘了使用#来引用项目id。我更新了答案并添加了两种可能性。是的,这个.up('form')工作,也刚刚开始,所以MVC肯定是下一步,非常感谢!