Усыновать список усов, если он не пуст.
Я хотел бы использовать Mustache для отображения неупорядоченного списка HTML, только если объект списка не пуст. Поэтому я хотел бы:
<ul>
<li>item 1</li>
<li>item 2</li>
</ul>
если в списке есть элементы и ничего, если список пуст (даже не теги ul)
Как я могу это сделать?
edit: моя структура данных:
{ "list": ["first item", "second item"] }
Ответы
Ответ 1
Если вы не хотите или не можете переформатировать свои данные, вы также можете просто проверить items.length
перед рендерингом тегов <ul>
. Некоторые люди недовольны этим, но это определенно альтернатива Майку.
{{#items.length}}
<ul>
{{items}}
<li>{{property}}</li>
{{/items}}
</ul>
{{/items.length}}
Ответ 2
Вам необходимо переформатировать структуру данных:
{
"list": {
"items": ["first item", "second item"]
}
}
Теперь ваш шаблон Mustache будет
{{#list}}
<ul>
{{#items}}
<li>{{.}}</li>
{{/items}}
</ul>
{{/list}}
Я сделал видео, объясняющее, как работает Mustache, и как его реализовать, используя PHP и JavaScript. Вы можете найти его здесь: http://mikemclin.net/mustache-templates-for-php-and-javascript/