Как в Handlebars повторно вывести данные без условий заданных ранее?
Здраствуйте, есть json, необходимо с помощью Handlebars вывести сначала те записи которые имеет поле "favotite" затем абсолютно все записи, но если задан условие, то повторно выводится, эти же отфильтрованные записи.
json выглядит так:
{
"list": [
{
"description": "admin",
"favotite": "True"
},
{
"description": "user 1"
},
{
"description": "user 2"
}
]
}
часть html выглядит так:
<h1>Favorite</h1>
<ul class="character-list-container"></ul>
<script id="character-template" type="text/x-handlebars-template">
{{#each list}}
<li>
{{#if favotite}}
<h2>{{description}}</h2>
{{/if}}
</li>
{{/each}}
</script>
<h1>All</h1>
<ul class="character-list-container"></ul>
<script id="character-template" type="text/x-handlebars-template">
{{#each list}}
<li>
<h2>{{description}}</h2>
</li>
{{/each}}
</script>
Результат выходит такой:
Favorite
admin
All
admin
Но нужно что бы вывод был таким:
Favorite
admin
All
admin
user 1
user 2
Как можно это сделать?
Ответы (1 шт):
Автор решения: Александр Сычёв
→ Ссылка
может такой вариант ?!
{{#if list.[0].favotite}}
<h2>favotite</h2>
<span>{{list.[0].favotite}}</span> {{/if}}
<h2>description</h2>
{{#each list}}
<span>{{description}} </span> {{/each}}
P.S: если есть несколько "favotite": "True"
можно так например:
<h2>favotite</h2>
<ul>
{{#each list}} {{#if this.favotite}}
<li>{{this.description}}</li>
{{/if}} {{/each}}
</ul>
<h2>All</h2>
<ul>
{{#each list}}
<li>{{description}}</li>
{{/each}}
</ul>