Есть ли способ перебора ключей и значений в объекте с использованием Hogan.js? Я не могу найти такую документально подтвержденную функциональность - только итерация по массивам, по-видимому, задокументирована. Возможно ли даже итерация через объекты в hogan.js (или любой другой реализации moustache.js)?Итерации через ключи/значения в Hogan.js
3
A
ответ
1
я был в такой же ситуации вчера, и после некоторых исследований с Hogan.js
и Mustache.js
, я нашел это решение:
var data = { 'list' : [{ 'name' : 'dhg'}, {'name' : 'abc'}] };
var template = Hogan.compile("{{#list}} {{name}} {{/list}}");
var output = template.render(data);
console.log(output);
Вы можете увидеть его в действии здесь: http://jsfiddle.net/LuD6j/1/
4
Там нет никакого способа для прямого перебора ключей и значений в объекте в Hogan.js то, что делает sub_stantial, очень важно итерации по массиву.
В зависимости от того, что вы хотите сделать, вам нужен код prerender. Предположим, что у вас есть объект o { k1: "v1", k2: "v2" }
. И вы хотите, чтобы ваш шаблон визуализации быть k1 has value v1; k2 has value v2;
, вам нужно только это (_ это underscore библиотека):
var oAsList = [];
_.each(_.keys(oAsList), function (k) {
oAsList.push({ key: k, value: o[k] });
})
И шаблон Усы, что делает трюк является
{{#oAsList}} {{key}} has value {{value}}; {{/oAsList}}