2013-12-24 4 views
1

Как я могу использовать if/else в hogan. У меня есть следующий код. Статус - это перечисление, которое имеет два значения («заблокировано», «разблокировано»). Мне нужно проверить, если статус == «заблокирован», тогда используется класс = «label label-danger», иначе class = «label label-success» ». Проблема в синтаксисе, как это сделать.Если еще hogan.js

template: [ 
      '<p class="repo-language"><span class="glyphicon glyphicon-user">' + 
      '</span> <strong>{{fullName}}</strong><span class="pull-right label label-danger">{{status}}</span></p>', 
      '<p class="repo-name"><small>{{login}}/{{email}}</small></p>' 
      ].join(''), 
      engine: Hogan 

ответ

1

Я не знаю, если это хорошая практика, но функции вычисляются, я делаю условия, как, что:

user = { 
    name: 'foo', 
    status: 'locked', 
    statusClass: function() { 
    if (this.status == 'locked') 
     return 'danger' 
    else 
     return 'success' 
    } 
} 

var template = Hogan.compile('<span class="label label-{{user.statusClass}}">{{user.status}}</span>') 
alert(template.render({user: user})); 

http://jsfiddle.net/WL4QC/

Смежные вопросы