내 컨트롤러에는 버튼을 클릭 한 후 다음 참조와 하나의 함수가 있습니다. ref 메소드를 생성하고 호출 할 수 있습니까? 하나의 함수로 많은 함수를 처리하고 싶습니다. if 문을 피하고 싶습니다. (프로젝트에서 필요로하는 것처럼 일반적인 것입니다.)변수에 함수를 할당하고 동적으로 호출하십시오.
유형이 함수의 매개 변수로 사용됩니다.
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"을 사용하여; 이 [method](). show();'? 당신이 그것을 찾은 후에 그것을 호출하고 있기 때문에 당신은 메소드 이름에 parens를 원하지 않는다. 그리고 그것은 당신의 클래스에 지역적으로 스코프 된 것처럼 전역 메소드가 될 것이라고 생각하지 않는다. 그래서 당신은 그렇지 않다. 'window'를 사용하고 싶습니다. – incutonez
그것은 당신이 언급하는 방식으로 작동합니다! – dev
그런데'type'은 제공된 코드와 Lorenz Meyer의 대답 모두에서 문자열 변수이기 때문에 우리에게 보여주지 못하는 것이 있습니다 ... type'은 당신이 가지고있는 특별한 특별한 변수가 아니라면 안됩니다 if 너는 그 지역 범위 야. – incutonez