我正在使用 Handlebars 模板,并且 JSON 数据已在 [Object object] 中表示,如何在 Handlebars 之外解析此数据?例如,我尝试通过句柄标签填充页面上的 JavaScript 变量,但这不起作用。
有什么建议么?谢谢你!
EDIT:
为了澄清,我使用 Express JS 和 Handlebars 进行模板化。在我的路由器中,我有这个:
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 中,则会收到一条错误消息,提示“意外标识符”。
输出时{{user}}
,Handlebars将首先检索user
's .toString()
价值。对于普通的Object
s, the 默认结果是"[object Object]"你看到了。
为了获得更有用的东西,您要么想要显示对象的特定属性:
{{user.id}}
{{user.name}}
或者,您可以使用/定义一个助手来以不同的方式格式化对象:
Handlebars.registerHelper('json', function(context) {
return JSON.stringify(context);
});
myView = new myView({
user : {{{json user}}} // note triple brackets to disable HTML encoding
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)