数组至少有一项 - Dust.js

时间:2014-01-17 15:26:18

标签: javascript node.js dust.js

我正在寻找一个聪明的方法在dust.js中确定一个对象数组(比如说项目)是否至少有一个项目,最好不使用@if或循环遍历每个项目

如果这样做会很好,但它不会:(

{@size key=items}
    {@gt value=0}
        asdf
    {/gt}
{/size}

2 个答案:

答案 0 :(得分:1)

我创建了一个具有相同要求的issue。通常,您应该创建一个可以接受内部块的替代帮助程序,并且此帮助程序将在内部调用@size帮助程序。

我们将其命名为@sizeOf

dust.helpers.sizeOf = function(chunk, context, bodies, params) {
  var value = this.size(chunk, context, bodies, params);
  return (bodies && bodies.block) ? chunk.render(bodies.block, context.push({ isSelect: true, isResolved: false, selectKey: value })) : value;
};

我们应该这样使用它:

{@sizeOf key=items}
  {@gt value=0}
    asdf
  {/gt}
{/size}

答案 1 :(得分:1)

假设items是一个空数组,这应该有效:

{?items}
    {#items}
        ...
    {/items}    
{:else}
    There are no results
{/items}
相关问题