Skip object as parameter for onclick method in handlebars template

I have a JSON that looks like this:

{
list: [
        { name: 'AAA',
          id: 1,
          age: 34
        },
        { name: 'BBB',
          id: 2,
          age: 24
        }
      ]
}

And a template like this:

<ul>
    {{#each list}}
        <li onclick="someFunc({{this}})">{{name}} ({{age}}) </li>
    {{/each}}
</ul>

Basically, I just want to pass the current object, to a function that does something with it.

Now, if I try, then the generated HTML just has

 ... onclick="someFunc( [object Object] )" ...

whereas I would like it to be like this:

 ... onclick="someFunc( {name: 'AAA', id: 1, age: 34} )" ...

How can i fix this?

+4
source share
1 answer

Publication of future links:

Got my answer from here:

Handlebars.js parse object instead of [Object Object]

Turns off Handlebar does toString for data before pasting into the template. All I had to do was register a helper method that converts it back to json.

Handlebars.registerHelper('json', function(context) {
    return JSON.stringify(context);
});

<li onclick="someFunc({{json this}})">{{name}} ({{age}}) </li>
+4

All Articles