如何在尘埃中的阵列长度上有条件?

时间:2015-01-29 03:24:28

标签: dust.js

基本上我想能够说项目数量是否超过1做某事,否则做其他事情。

以下是json数据示例:

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

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

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

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

2 个答案:

答案 0 :(得分:7)

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

@eq

数据看起来像这样:

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

答案 1 :(得分:0)

在我的情况下,我只想在那里有东西时显示一个部分: 我在product.hours中有一个集合列表

{@gt key=product.hours.length value=0}
my stuff goes here
{/gt}