handlerbars.js检查列表是否为空

Handlebars.js模板中有没有一种方法在去迭代列表/集合之前检查集合或列表是否为空或空?

// if list is empty do some rendering ... otherwise do the normal {{#list items}} {{/list}} {{#each items}} {{/each}} 

“每个”标签也可以采用“其他”部分。 所以最简单的forms是:

 {{#each items}} // render item {{else}} // render empty {{/each}} 

超晚了派对,但我不喜欢被接受的答案(如果我有东西要显示一次,但只有当数组有数据?),第二个答案似乎也没有function。 所以也许这会帮助一些未来的开发者。

 {{#if items.length}} //Render {{/if}} 

.length将为空数组返回0,所以我们已经实现了一个真正的虚假值。

好吧,比我想象的更简单:

 {{#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}}