Использование Eco и CoffeeScript

Как я могу использовать оператор If для указания переменной, которая определена в файле docpad.coffee.

Я хочу сделать что-то вроде этого:

<% if sponsor.type == 'Gold': %>
<li class="sponsor-item gold" itemscope itemtype="http://schema.org/Organization">
  <a href="<%= sponsor.url %>" class="sponsor-logo sponsor-link" itemprop="url">
    <img src="<%= sponsor.logo %>" alt="<%= sponsor.name %>" class="photo" itemprop="image">
  </a>
<% else: %>
<li class="sponsor-item" itemscope itemtype="http://schema.org/Organization">
  <a href="<%= sponsor.url %>" class="sponsor-logo sponsor-link" itemprop="url">
    <img src="<%= sponsor.logo %>" alt="<%= sponsor.name %>" class="photo" itemprop="image">
  </a>
<% end %>

Это код, который я сделал, но он находит строку, но не добавляет класс «золото» (определенный в li) в типе золотого спонсора.


person Igo Lapa    schedule 20.03.2013    source источник


Ответы (1)


Чтобы получить переменные, определенные в данных вашего шаблона, вы должны добавить к ним префикс @, например, @sponsor -> это переводится как this.sponsor в javascript.

Это связано с тем, что переменные данных шаблона назначаются этой области в файле eco. Подробнее об этом можно прочитать здесь: https://github.com/sstephenson/eco#the-context-object

person balupton    schedule 21.03.2013