我怎样才能对 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}
基本上我想说如果项目的数量超过 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}