Dust.jsで変数の間接化を実現することは可能ですか?したがって、マップのような機能を使用できますか?
Dust に渡す次のコンテキストがあるとします。
{
"keys": [ "Foo", "Bar", "Baz" ],
"data": [{
"date": "20130101",
"values": {
"Foo": 1,
"Bar": 2,
"Baz": 3
}
}, {
"date": "20130102",
"values": {
"Foo": 4,
"Bar": 5,
"Baz": 6
}
}]
}
そして、次の出力を実現したいと考えています(実際にはテーブルになりますが<tr><td>
、簡潔にするためにタグをスキップし、スペースと改行に置き換えました):
Date Foo Bar Baz
20130101 1 2 3
20130102 4 5 6
keys
プロパティをループして、各値x
を使用して検索する方法がわかりませんdata[i].values[x]
。キーをハードコーディングすることで、目的の出力を取得できます。
Date{~s}
{#keys}
{.}{~s}
{/keys}
{~n}
{#data}
{date}{~s}
{values.Foo}{~s}
{values.Bar}{~s}
{values.Baz}{~s}
{~n}
{/data}
ただし、キーは動的に決定されるため、テンプレートにハードコードすることはできません。などの行を次のようなものに置き換える方法はありvalues.Foo
ますか:
{#data}
{date}{~s}
{#keys outerMap=values}
{outerMap.{.}}{~s}
{/keys}
{~n}
{/data}
これは書かれているようには機能しません。(現在のキーの値)の出力をキャプチャし、{.}
解決するプロパティ名 (の一部) として動的に使用できますか?