2012-11-15 3 views
0

상태 값을 할당하지 않고도 동일한 작업을 수행 할 수있는 방법이 있습니까? if 조건이 같은 줄에있을 때 함수 대신 boolean을 반환하는 if 조건에 문제가 발생했습니다.조건부 및 함수 호출을 한 줄에 넣으십시오.

onItemChanged = (event,ui) -> 
    input_element = event.target 
    list_id = input_element.getAttribute('list_id') 
    (if input_element.checked then onItemChecked else onItemUnchecked) list_id 

아니면 그냥 if 내부의 onItemChecked 또는 onItemUnchecked 전화 : 당신이 청소기를 생각 하는데요,하지만 당신은 또한 직접 if 식의 결과를 호출 할 수 있다면

onItemChanged = (event,ui) -> 
    input_element = event.target 
    list_id = input_element.getAttribute('list_id') 
    state = if input_element.checked 
      onItemChecked //function of int -> nothing 
      else 
      onItemUnchecked //function of int -> nothing 

    state (list_id) 

답변

2

마찬가지로 :

onItemChanged = (event, ui) -> 
    input = event.target 
    state = if input.checked then onItemChecked else onItemUnchecked 
    state input.getAttribute('list_id') 

심지어 :

onItemChanged = ({target: input}, ui) -> 
    state = if input.checked then onItemChecked else onItemUnchecked 
    state input.getAttribute('list_id') 
1

확실하지

onItemChanged = (event,ui) -> 
    input_element = event.target 
    list_id = input_element.getAttribute('list_id') 
    if input_element.checked 
    onItemChecked list_id 
    else 
    onItemUnchecked list_id 
관련 문제