уверен, что вы можете. Определим сечение следующим образом:
{@keyvalue:cont}
{key} - {value}
{/keyvalue}
затем переопределить JSON контекст как так:
cont:{
name: "Foo",
profile: "Bar" //I'm simplifying this a bit for the sake of this example
}
это так, что контекст для KeyValue секции выше получает ограничивается только «продолжение». то вы можете определить вспомогательный ключ ключевого значения следующим образом:
"keyvalue": function(chunk, context, bodies){
var items = context.current(), //this gets the current context hash from the Context object (which has a bunch of other attributes defined in it)
ctx;
for (key in items) {
ctx = {"key" : key, "value" : items[key]};
chunk = chunk.render(bodies.block, context.push(ctx));
}
return chunk
}
должен сделать трюк. протестировали это на веб-сайте dustjs. надеюсь, вы можете добавить к этому, чтобы попасть во вложенные хеши.
Это особенно полезно, если, например, вам необходимо определить атрибуты HTML-тегов в вашем контексте - я бы не хотел определять набор атрибутов и THEN их соответствующий набор значений в отдельных ключах. Я бы хотел их вместе. легче читать, проще управлять.