我剛分配了一個被解僱的extjs開發人員的項目。在他提出的控制器,我發現像如何創建getter和setter
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)回答,但問題仍然開放。
裁判在控制器正確定義:
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));
},
首先,你應該研究已經存在而不是已經存在的東西,以及如何實施。 – Don
你說得太早。在呈現任何視圖之前調用控制器的'init'。 –
@EvanTrimboli Thx!我把調用放到window.afterrender中,現在它可以工作。你是否介意回答這個問題,所以我可以將問題標記爲答案? :) – Alexander