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