как мне добиться этого в mustache.js?

У меня есть следующий js-объект:

var user = 
{
   FirstName:'John',
   MiddleName:'Jacob',
   LastName:'Smith',
}

Я хочу использовать mustache.js для отображения этой информации в таблице html:

<table>
  <tr>
    <td>{{FirstName}}</td>
  </tr>
  <tr>
    <td>{{MiddleName}}</td>
  </tr>
  <tr>
    <td>{{LastName}}</td>
  </tr>
</table>

Однако, если объект js не имеет значения MiddleName, строка MiddleName шаблона не должна отображаться, так как нет отображаемого значения MiddleName. Как бы вы структурировали свой шаблон усов, чтобы приспособиться к этому сценарию?


person user7066345    schedule 28.10.2016    source источник
comment
mustacheJS нелогично. Он отобразит представление, как вы его определили - я думаю, вам придется использовать JS, чтобы скрыть <td>, если объект не существует.   -  person IronAces    schedule 31.10.2016


Ответы (1)


Итак, вы бы сделали это следующим образом:

{{#.}}
<table>
  <tr>
    <td>{{FirstName}}</td>
  </tr>
  {{#MiddleName}}
  <tr>
    <td>{{MiddleName}}</td>
  </tr>
  {{/MiddleName}}
  <tr>
    <td>{{LastName}}</td>
  </tr>
</table>
{{/.}}

Где {{#somekey}}{{/somekey}} выполняется, только если присутствует этот somekey

person MohamedSanaulla    schedule 03.11.2016