我想将Dust.js用作客户端模板引擎。 我有一个像这样的数据json:
var data = {
"Foo": [{
"somekey": "somevalue",
"otherkey": "othervalue"
}, {
"somekey": "somevalue",
"otherkey": "othervalue"
}],
"Bar": [{
"somekey": "somevalue",
"otherkey": "othervalue"
}, {
"somekey": "somevalue",
"otherkey": "othervalue"
}]
}
我事先并不知道最上面的对象键是什么 - 我不知道Foo
和Bar
键,它们可以是任何值。
所以,我需要通过key
和value
等关键字迭代这个json。像这个伪代码中的东西:
{% for(key, value) in data %}
{key}: {value}
{% /for %}
我知道Dust.js有{#section/}
来循环一个对象。但同样,你必须提供一个关键名称:
{#extraData}
{!
Inside this section, Dust looks for
values within the extraData object
!}
Inside the section, the value of name is: {name}{~n}
{/extraData}
我事先并不知道extraData
名字。
那么,Dust.js是否提供了一种通过key
和value
关键字引用对象键/值的方法?
答案 0 :(得分:2)
Dust不提供对象的内置迭代。
但是,您可以添加{@iterate}
帮助程序来执行此类迭代。
您可以在https://www.npmjs.com/package/dustmotes-iterate
获取使用示例:
Data: { obj: {a:"A", b:"B", c:"C" } }
{@iterate key=obj}
{$key}:{$value} {$type}
{/iterate}
Output: a:A string b:B string c:C string