正确缩进COFFEE SCRIPT?

时间:2011-11-01 04:45:56

标签: coffeescript

我在第371行收到错误,这是下面的最后一行 - 基本上,我想在你点击链接REQUEST ADMIN PRIVILEGES http://www.albumpl.us/gallery/trial/photos

时覆盖弹出窗口
extraTestButtons.append('<a href="mailto:adminplease@albumpl.us">Request Admin Privileges</a> |  | <a href="#">Turn SMART BROWSE (ON)</a> | ' + 
                ' | <a href="#">Purchase prints and other merchandise</a>|| <a href="http://www.albumpl.us/gallery/#{gal_code}/live">Live View</a>')


            extraTestButtons.find('a').click ->
            if $(this).text() == 'Request Admin Privileges'
              return false
            showNotYetAvailableMessage($(this).text())

2 个答案:

答案 0 :(得分:15)

通过破解帖子(使用Stack Overflow的编辑功能),我看到你的第二行和extraTestButtons.find行正在使用标签,其下方的所有内容都使用空格。

你需要与你的空白保持一致。要么到处使用标签,要么在任何地方使用空格,但是一旦开始混音,就会发生不好的事情。它完全混淆了编译器,因为你的空白是“重要的”。这就像拥有允许{ foo() }[ foo() ]进行块规范的语言,但您使用的是{ foo() ]。编译器不知道你的意思。

通常情况下,CS编译器会禁止你,因为它没有意义。其他时候,它对编译器有意义,但它不是你想要的。其他时候,结果是你的预期,但不是你想要的原因。

无论如何,您应该使用能够让您了解这些问题的编辑器。在我的情况下,我总是喜欢空格,我告诉我的编辑器将我的标签变成空格,这样我就不会在CS代码中的任何地方使用制表符。

  

每个人的偏好都与此不同,但一条规则是   固体:不要混合你的空白:)

答案 1 :(得分:3)

你缩进.click绑定但是不在块中,所以缩进没有任何意义。也许你正在寻找这样的东西:

extraTestButtons.append('<a href="mailto:adminplease@albumpl.us">Request Admin Privileges</a> |  | <a href="#">Turn SMART BROWSE (ON)</a> | ' + ' | <a href="#">Purchase prints and other merchandise</a>|| <a href="http://www.albumpl.us/gallery/#{gal_code}/live">Live View</a>')
extraTestButtons.find('a').click ->
  if $(this).text() == 'Request Admin Privileges'
    return false
  showNotYetAvailableMessage($(this).text())