将对象作为参数传递给车把模板中的 onclick 方法

2024-01-14

我有一个如下所示的 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(使用前将#替换为@)

将对象作为参数传递给车把模板中的 onclick 方法 的相关文章

随机推荐