我正在使用 Handlebars 模板并且 JSON 数据已经在 [Object object] 中表示,我如何在 Handlebars 之外解析这些数据?例如,我试图通过 handlebars 标记在页面上填充 JavaScript 变量,但这不起作用。
有什么建议么?谢谢!
编辑:
为澄清起见,我正在使用带有 Handlebars 的 ExpressJS 进行模板化。在我的路线中,我有这个:
var user = {}
user = {'id' : 123, 'name' : 'First Name'}
res.render('index', {user : user});
然后在我的 index.hbs 模板中,我现在有一个 {{user}}
对象。我可以使用 {{#each}}
来遍历对象。但是,我也在使用 Backbonejs,我想将此数据传递给视图,例如:
myView = new myView({
user : {{user}}
});
问题是 {{user}}
只是在源代码中显示 [Object object]
。如果我把它放在 console.log 中,我会收到一条错误消息,提示“意外标识符”。
原文由 dzm 发布,翻译遵循 CC BY-SA 4.0 许可协议
当输出
{{user}}
时,Handlebars 将首先检索user
的.toString()
值。对于普通的Object
s, 默认结果是"[object Object]"
你看到的。为了获得更有用的东西,您要么想要显示对象的特定属性:
或者,您可以使用/定义一个助手来以不同方式格式化对象: