我有一个摘要项目列表,可以通过单击 Ajax 进行扩展。我在 Coffeescript 中编写了以下代码:
current_open_row = null
$('li.faq-item').live 'click', (event) ->
$.post("/faqs/update_rows", {old_row_id: current_open_row, new_row_id: $(this).attr('id')}, (data) ->
replace_items data
, 'json')
current_open_row = $(this).attr('id')
这读起来不像流畅的 Coffeescript,我发现自己在想,“我还能做得更好”,但特别是,current_open_row
在点击处理程序范围之外实例化变量感觉很奇怪。当然,不这样做会在进入处理程序时导致新的实例化,这总是未定义的。
除了重构$(this).attr('id')
为变量之外,还有什么东西会显得丑陋、次优、不可读等,或者这就是它的方式?
谢谢!