Handlebars.js 模板中有没有办法在遍历列表/集合之前检查集合或列表是否为空或空?
// if list is empty do some rendering ... otherwise do the normal
{{#list items}}
{{/list}}
{{#each items}}
{{/each}}
Handlebars.js 模板中有没有办法在遍历列表/集合之前检查集合或列表是否为空或空?
// if list is empty do some rendering ... otherwise do the normal
{{#list items}}
{{/list}}
{{#each items}}
{{/each}}
如果您想要显示一次且仅当数组有数据时,请使用
{{#if items.length}}
//Render
{{/if}}
.length
将为空数组返回 0,因此我们获得了真正的虚假值。
“each”标签也可以包含“else”部分。所以最简单的形式是:
{{#each items}}
// render item
{{else}}
// render empty
{{/each}}
好的,这比我想象的要简单:
{{#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 循环)。他们是否有三个不同的数组列表。
在 if 语句中使用查找为我解决了这个问题。因为,上面的答案并没有解决我的问题。
这是我的代码,
{{#each OtherRandomItems}}
{{this}}
{{lookup ../AnotherRandomItems @index}}
{{#if (lookup ../RandomItems @index)}}
// render items
{{else}}
// render empty
{{/if}}
{{/each}}