Javascript 如何在循环中至少检查一次条件是否为真
以下是我必须呈现的数据:Javascript 如何在循环中至少检查一次条件是否为真,javascript,templating,dust.js,Javascript,Templating,Dust.js,以下是我必须呈现的数据: var data = { "foo" : "1", "project": [ { "name": "Project 1", "status": "red" }, { "name": "Project 2", "status": "green" }, { "n
var data = {
"foo" : "1",
"project": [
{
"name": "Project 1",
"status": "red"
},
{
"name": "Project 2",
"status": "green"
},
{
"name": "Project 3",
"status": "red"
}
]
};
我想循环浏览这些数据,并分别打印状态为红色、黄色和绿色的项目。如果没有特定状态类型的项目,则我希望显示无黄色/红色/绿色项目
。我可以显示特定状态下的项目,但如何查找是否没有当前状态类型的项目
我的灰尘模板是:
<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}
红色
{#project}{@eq key=status value=“red”}{name}
{/eq}{/project}
绿色
{#project}{@eq key=status value=“green”}{name}
{/eq}{/project}
黄色的
{#project}{@eq key=status value=“yellow”}{name}
{/eq}{/project}
请参阅:我不确定,但DustJS不支持此用例 由于它是一个模板引擎,我想他们鼓励您在模型中公开普通数据,并避免在模板本身中使用此类逻辑 您可以按如下方式拆分模型:
- 红色项目
- 绿色工程
- 黄色项目
这样,您就不需要DustJS语法来实现这一点了 就连我的研究也表明了同样的道理。我发现了一个使用jquery的临时攻击,但我想拆分模型是最好的解决方案。谢谢:)@AbhasTandon嘿,没问题:)我已经检查了你的解决方案,但这是一个错误的决定,因为DustJS渲染发生在整个模板添加到DOM之前,所以似乎拆分模型是无摩擦的解决方案!是的,我决定按照建议将模型分成三部分。我知道jQuery解决方案只是一个临时修复,不是一个好的解决方法。再次感谢。。。