我刚被分配一个解雇的extjs开发人员的项目。在他制作的控制器中,我发现像
this.getMyButton().toggle(true);
this.getMyContainer().getLayout()...
因此,我只是向视图添加了一个新表单(我的前同事应该在圣诞节之前完成的一件事情),并尝试使用以下方法从控制器中调用它
this.getMyNewForm().loadRecord(someStore.getAt(0));
Chrome告诉我这this.getMyNewForm()
是未定义的。但是我在代码中没有找到的定义getMyButton()
。
怎么了 我该如何定义getMyNewForm()
?
编辑:文档(http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.app.Controller-cfg-refs)回答的问题,但问题仍未解决。
Ref已在控制器中正确定义:
refs: [{
ref :'MyNewForm',
selector :'form[id=myNewForm]'
}]
在视图中正确定义了MyNewForm
items: [{
xtype: 'form',
header:false,
frame:false,
id:'myNewForm',
items: [{
但是当我打电话时它不起作用
init: function() {
this.control({
});
this.getMyNewForm().loadRecord(someStore.getAt(0));
},
由于Evan Trimboli并未给出答案,因此让我来做:
“您调用它为时过早。在呈现任何视图之前,先调用控制器的init。”
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句