在我的控制器中,我點擊一個按鈕後調用了以下ref和一個函數。是否有可能構造一個ref方法然後調用它?我只想在一個函數中處理很多情況,並且我希望避免if語句(因爲它在項目中是必需的,它應該是通用的)EXTJS將函數賦值給變量並動態調用它
該類型將作爲函數的參數。
refs : [{
ref : 'saleForm',
selector : 'sale saleform'
}],
init: function() {
this.control({
'salesview #mybutton':{
click : this.onSaleClick
}
});
},
onSaleClick : function(){
//this.getSaleForm().show();//works
var type = "Sale";
var method = "get"+type+"Form()";
this.window = window;
this.window[method]().show();
}
我很困惑...如果'this.getSaleForm()顯示()'的作品,什麼是錯的用'var method =「get」+ type +「Form」;這[方法]()。show();'?你不想在方法名中使用parens,因爲你在查找之後調用它,並且我不認爲它會是一個全局方法,因爲它在本地作用於你的類,所以你不需要想要使用'window'。 – incutonez
它的工作方式你提到! – dev
然後有些東西你沒有給我們看,因爲'type'是你提供的代碼和Lorenz Meyer的答案中的一個字符串變量......除非'type'是一些特殊的保留變量,但它不應該是if你是本地的範圍。 – incutonez