handlebars.js

How do I access object keys in Handlebars templates?


I'm passing this into my template.

modules: {
  left: [],
  center: ['card', 'progressChart', 'tableOfChildren'],
  right: ['activity', 'details', 'triggers']
}

I want to do something like this... (psuedo code that I don’t think will work)

{{#each region in modules}}
  <div class="{{region}}">
  {{#each region}}
    <div class="{{this}} module"></div>
  {{/each}}
  </div>
{{/each}}

Solution

  • You can do

    {{#each modules}}
      <div class="{{@key}}">
      {{#each this}}
        <div class="{{this}} module"></div>
      {{/each}}
      </div>
    {{/each}}
    

    Reference: http://handlebarsjs.com/builtin_helpers.html#iteration