我有一个如下所示的 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} )" ...
我怎样才能解决这个问题?
发布供将来参考:
从这里得到我的答案:
Handlebars.js 解析对象而不是 [Object 对象] https://stackoverflow.com/questions/10232574/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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)