Если еще hogan.js
Как я могу использовать if / else в Hogan. У меня есть следующий код. Статус это enum, который имеет два значения ("заблокирован", "разблокирован"). Мне нужно проверить, если статус == "заблокирован", то используется класс = "метка метка-опасность", иначе класс = "метка метка-успех" ". Проблема в синтаксисе, как это сделать.
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}));