私は次のような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解析オブジェクト
テンプレートに貼り付ける前に、Handlebarがデータに対してtoStringを実行することが判明しました。私がしなければならなかったのは、それをjsonに戻すヘルパーメソッドを登録することだけでした。
Handlebars.registerHelper('json', function(context) {
return JSON.stringify(context);
});
<li onclick="someFunc({{json this}})">{{name}} ({{age}}) </li>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加