Как использовать Ember.js {{action}} в шаблонах Handlebars.js поверх Jade

Я использую Ember.js и Handlebars.js для проекта, над которым сейчас работаю. На стороне сервера — Node.js + Express, и я использую механизм шаблонов Jade.

Теперь всякий раз, когда я хочу связать действия с элементами DOM, я использую атрибут {{action}} Ember.js. В настоящее время мой код выглядит в Jade так:

script(type='text/x-handlebars', data-template-name='frontpage')
  div.logo(''='{{action goToFrontpage}}')

Приведенное выше действительно работает, однако часть ''='{{action goToFrontpage}}' кажется несколько хакерской.

Есть ли другой способ сделать это? Возможно, это лучшая практика при объединении Ember.js, Handlebars.js и Jade?


person Kasper Tidemann    schedule 27.07.2012    source источник
comment
Я пришел к выводу, что, возможно, лучше всего использовать обычный HTML в Jade. Таким образом, ответом будет написать <div {{action GoToFrontpage}} class="logo"></div>, так как Jade также поддерживает обычный HTML.   -  person Kasper Tidemann    schedule 27.07.2012
comment
Добавьте этот комментарий в качестве ответа и затем примите его :)   -  person Florian Margaine    schedule 27.07.2012


Ответы (1)


Иногда лучше просто использовать html в Jade.

<div {{action GoToFrontpage}} class="logo"></div>

Другой пример, который я часто вижу, — сильный тег.

 .stuff
   | This is an
   strong important
   | message.

Вы можете написать это

 .stuff This is an <strong>important</strong> message.

Я нахожу второй намного более читабельным и кратким.

person Pickels    schedule 29.07.2012