我有一个看起来像这样的JSON:
{
list: [
{ name: 'AAA',
id: 1,
age: 34
},
{ name: 'BBB',
id: 2,
age: 24
}
]
}
这样的模板:
<ul>
{{#each list}}
<li onclick="someFunc({{this}})">{{name}} ({{age}}) </li>
{{/each}}
</ul>
基本上我只想把当前对象传递给一个用它来做某事的函数。
现在,如果我尝试,那么生成的HTML只有
... onclick="someFunc( [object Object] )" ...
而我喜欢它是这样的:
... onclick="someFunc( {name: 'AAA', id: 1, age: 34} )" ...
我该如何解决这个问题?
答案 0 :(得分:4)
发布以供参考:
从这里得到答案:
Handlebars.js parse object instead of [Object object]
事实证明,在粘贴到模板之前,Handlebar会对数据执行toString。我所要做的就是注册一个帮助方法,将它转换回json。
Handlebars.registerHelper('json', function(context) {
return JSON.stringify(context);
});
<li onclick="someFunc({{json this}})">{{name}} ({{age}}) </li>