我怎样才能对 Dust 中数组的长度有条件?

How can I have a condition on the length of an array in Dust?

基本上我想说如果项目的数量超过 1 做某事,否则做其他事。

这是示例 json 数据:

  "items": [
    { "key1" : "val1" }, 
    { "key2" : "val2" }
    ]

我可以使用以下方法获取元素的大小: {@size key=items}{.}{/size} 但问题是我想把它放在类似于以下的 if 条件中:

{@if cond="1 < '{@size key='items' /}'"} Size was bigger than 1 {/if}

(这给了我一个语法错误)。不幸的是,该文档没有详细说明并且帮助很小。

您可以使用arrayName.length访问数组的长度,您可以使用大于(@gt)、小于(@lt)、大于或等于(@gte)、小于或等于 (@lte) 或等于 (@eq) 助手进行比较。下面的示例显示了如何检查数组的长度是否大于 3。

{@gt key=items.length value=3}There are more than 3 items{/gt}

数据看起来像这样的地方:

{
  items: [
    {name: 'a'},
    {name: 'b'},
    {name: 'c'},
    {name: 'dee'}
  ]
}

在我的例子中,我只想在有内容的情况下显示一个部分: 我在 product.hours

中有一个集合列表
{@gt key=product.hours.length value=0}
my stuff goes here
{/gt}