我有这个咖啡脚本
@open_login_dialog = () ->
opt = {
autoOpen: false,
modal: true,
width: 'auto',
focus: function(e) ->
$(this).dialog('option', 'width', $("#loginBox").width())
}
Rails报告了一个神秘的错误,“SyntaxError:[stdin]:184:12:保留字'function'”。它没有告诉我一条线,但当我评论出“焦点:功能”部分时,一切都有效,这让我相信这是罪魁祸首。如何编写以上内容以便与咖啡脚本完美搭配?
答案 0 :(得分:0)
根据@ muistooshort的评论,你需要使用coffeescript函数语法,用function(a,b,c)
替换(a,b,c) ->
其次,您需要继续使用:
在对象内进行分配。
我还建议在coffeescript上刷一点。这是关于该语言的favourite resource。 linter也有助于捕获这些基本的语法错误。
您的代码可以进一步清理:
@open_login_dialog = ->
opt =
autoOpen: false
modal: true
width: 'auto'
focus: ->
$(this).dialog 'option', 'width', $('#loginBox').width()
如果您不想要任何参数,可以从功能定义中省略()
,只需使用箭头->
。
您不需要{}
括号来定义对象
e
,因此也可以省略。