我有一个以下列形式发送到尘埃的模型:
{
"name": "Build Name",
"date": "03/09/2015",
"modules": [
{
"name": "Cyber Strength",
"module_group": "Standard",
"module_type": "Training Modules"
},
{
"name": "Phil",
"module_group": "Games",
"module_type": "Training Modules"
},
...
]
}
我希望能够以......的形式制作粉尘助手功能。
{@getModules module_group="Standard" module_type="Training Modules"}
<li>{name}</li>
{/getModules}
我不能简单地遍历执行{#modules}{/modules}
的模块,因为我只想显示符合我标准的模块(module_group和module_type)。
任何人都可以帮我提出一个帮助函数,可以切换到模块的正确上下文,其中{name}
将打印模块名称而不是构建名称吗?
答案 0 :(得分:1)
你实际上可以迭代modules
,因为你可以过滤掉你不想要的那些。
要访问核心Dust逻辑帮助程序,您还希望包含dustjs-helpers
模块。
然后,您可以使用{@eq}
帮助程序仅处理符合条件的对象。
{#modules}
{@eq key=module_group value="Standard"}
{@eq key=module_type value="Training Modules"}
{name} is the right type!
{/eq}
{/eq}
{/modules}
但是,我认为按照您的建议编写帮助可以使您的模板更清晰,更易于阅读!要获得帮助撰写帮助,请查看我上面发布的评论链接,并阅读Dust documentation on writing context helpers。