Coffeescript 将条件调用和函数调用放在一行中

Coffeescript 将条件调用和函数调用放在一行中,coffeescript,Coffeescript,有没有一种方法(希望是干净的)可以在这里做同样的事情,而不必指定状态值? 当if条件位于同一行时,我一直遇到if条件返回布尔值(而不是函数)的问题 onItemChanged = (event,ui) -> input_element = event.target list_id = input_element.getAttribute('list_id') state = if input_element.checked onItemChecked /

有没有一种方法(希望是干净的)可以在这里做同样的事情,而不必指定状态值? 当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 )

不确定你是否认为它更干净,但是你也可以直接调用<代码>的结果,如果表达式直接:

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
,如果

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

不确定你是否认为它更干净,但是你也可以直接调用<代码>的结果,如果表达式直接:

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
,如果

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
像这样:

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')
像这样:

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')