如果不是hogan.js

时间:2013-12-24 12:02:38

标签: if-statement typeahead hogan.js

我如何在hogan中使用if / else。我有以下代码。状态是enum,它有两个值(“已锁定”,“已解锁”)。我需要检查,如果status ==“locked”,则使用class =“label label-danger”,否则class =“label label-success ”。语法中的问题,该怎么做。

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 个答案:

答案 0 :(得分: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/