Ответ 1
Вы можете отображать ключи/значения списка в шаблоне Handlebars следующим образом:
{{#each object}}
{{@key}}: {{this}}
{{/each}}
Я начал изучать handlebar.js. Я изо всех сил пытаюсь отобразить данные json.
Мой json выглядит так:
var data={
"record1":
[
{
"first":
[
{
"name":"john",
"city":"newyork"
},
{
"name":"britto",
"city":"bangalore"
}
]
},
{"second":
[
{
"name":"franklin",
"city":"newyork"
},
{
"name":"leo",
"city":"bangalore"
}
]
}
]
};
здесь этот json идет от ответа сервера, поэтому я не знаю никаких ключей и значений. Я должен показать ключ и значение динамически, используя handlebar... Я пытался с каждымKey, но у меня нет решения для этого. Кто-нибудь может мне помочь?
Вы можете отображать ключи/значения списка в шаблоне Handlebars следующим образом:
{{#each object}}
{{@key}}: {{this}}
{{/each}}
Сначала спасибо, что это привело к тому, что мне нужно было получить ключ.
Если неясно, что OP "this" ссылается на текущий объект этой итерации.
Итак, в данных вашего случая объект имеет запись массива1 с 2 объектами, которые являются массивами объектов: первый и второй.
Использование каждого:
{{#each record1}}
{{@key}}: {{this}}
{{/each}}
даст вам: first: (объект, массив) second: (object, array)
Вы будете перебирать объект (данные). В этом случае, если вы хотите копать, вам понадобится счетчик, чтобы добраться куда-нибудь еще. Я бы рекомендовал использовать вспомогательный блок блока handlebars, чтобы добраться туда.
Вот документация: http://handlebarsjs.com/block_helpers.html
Для объектов:
{{#each myObject}}
Key: {{@key}} Value = {{this}} //renders object like {key: value}
{{/each}}
Обратите внимание, что будут перечислены только те свойства, которые проходят тест hasOwnProperty
.
Для массивов:
{{#each myArray}}
Index: {{@index}} Value = {{this}}
{{/each}}