Как написать буквальный объект jQuery в coffeescript

Я пытаюсь преобразовать некоторый код в coffeescript, и у меня возникают проблемы с этим:

var $el = $('<span/>', {
    class : 'myclass',
    click : function () {
        var $this = $(this)
        if (foo) { // radio & check
            baz($this)
        }else{
            bla($this)
        }
    }
});

Я написал в кофе так:

$el = $('<span/>',
  class: 'myclass'
  click: ->
    $this = $(this)
    if foo
      baz $this
    else
      bla $this
)

Это прекрасно работает, но мне очень не нравится последняя скобка. Можно ли как-нибудь написать этот код без скобок, просто с отступом?


person elclanrs    schedule 19.05.2012    source источник
comment
Мне интересно узнать мотивы перехода на сценарий кофе. не могли бы вы поделиться им со мной?   -  person gdoron is supporting Monica    schedule 20.05.2012
comment
Я надеюсь, что тот факт, что большинство разработчиков javascript не понимают кофейный скрипт, оставит его только экспериментальным... :)   -  person gdoron is supporting Monica    schedule 20.05.2012


Ответы (1)


Работает нормально, если вы отбросите обе скобки.

$el = $ "<span/>",
  class: "myclass"
  click: ->
    $this = $(this)
    if foo
      baz $this
    else
      bla $this

См. также: http://js2coffee.org/

person Peter Lyons    schedule 19.05.2012