Handlebars.jsには、リストまたはコレクションを繰り返し処理する前に、コレクションまたはリストがnullまたは空であるかどうかをチェックするテンプレートがありますか?
// if list is empty do some rendering ... otherwise do the normal
{{#list items}}
{{/list}}
{{#each items}}
{{/each}}
「each」タグは「else」セクションも使用できます。したがって、最も単純な形式は次のとおりです。
{{#each items}}
// render item
{{else}}
// render empty
{{/each}}
表示したいものがある場合onceと配列にデータがある場合のみ
{{#if items.length}}
//Render
{{/if}}
.length
は空の配列に対して0を返すので、本当のfalsey値を達成しました。
思ったより簡単です。
{{#if items}}
// render items
{{#each items}}
// render item
{{/each}}
{{else}}
// render empty
{{/if}}
コレクション(カーソル)が空であるかどうかを確認したい場合、前の回答は役に立ちません。代わりにcount()
メソッドを使用する必要があります。
{{#if items.count}}
<p>There is {{items.count}} item(s).</p>
{{else}}
<p>There is nothing</p>
{{/if}}
{{#if}}の上に{{#each}}を使用する必要がある人(つまり、forループ内のifループ)。彼らは3つの異なる配列のリストを持っていますか?.
Ifステートメント内でルックアップを使用すると、問題が解決します。として、上記の答えは私の問題を解決しませんでした。
ここに私のコードがあります、
{{#each OtherRandomItems}}
{{this}}
{{lookup ../AnotherRandomItems @index}}
{{#if (lookup ../RandomItems @index)}}
// render items
{{else}}
// render empty
{{/if}}
{{/each}}