0

状態値を割り当てずにここで同じことを行うことができる (できればクリーンな) 方法はありますか? if 条件が同じ行にある場合、(関数ではなく) ブール値を返す 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 )
4

2 に答える 2

1

よりクリーンだと思うかどうかはわかりませんが、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

onItemCheckedまたは、またはonItemUnchecked内で呼び出すだけifです:

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
于 2012-11-15T16:58:34.493 に答える