Dust js如何在循环中至少检查一次条件是否为真

时间:2014-05-02 19:35:05

标签: javascript templating dust.js

这是我必须呈现的数据:

var data = {
    "foo" : "1",
    "project": [
        {
            "name": "Project 1",
            "status": "red"
        },
        {
            "name": "Project 2",
            "status": "green"
        },
        {
            "name": "Project 3",
            "status": "red"
        }
    ]
};

我想循环浏览这些数据并分别打印状态为红色,黄色和绿色的项目。如果没有特定状态类型的项目,那么我想显示no yellow/red/green project。我能够在他们的特定状态下显示项目,但是如何找到当前状态类型的项目是否没有。

我的粉尘模板是:

<h1>red</h1>
{#project}{@eq key=status value="red"}{name}
{/eq}{/project}
<h2>green</h2>
{#project}{@eq key=status value="green"}{name}
{/eq}{/project}
<h2>Yellow</h2>
{#project}{@eq key=status value="yellow"}{name}
{/eq}{/project}

请参阅:http://jsfiddle.net/xuLSq/

1 个答案:

答案 0 :(得分:1)

我不是很确定,但DustJS并不支持这个用例。

由于它是一个模板引擎,我猜他们鼓励你在模型中公开纯数据,并避免在模板中使用这种逻辑。

您可以按如下方式拆分模型:

  • redProjects
  • greenProjects
  • yellowProjects

然后你不会需要DustJS语法来实现这个功能!