Handlebars.js解析对象而不是[Object object]
我正在使用Handlebars模板,并且[Object
object]中已经表示了JSON数据,如何在Handlebars之外解析此数据?例如,我试图通过handlebars标签在页面上填充一个JavaScript变量,但这不起作用。
有什么建议?谢谢!
编辑:
为了澄清起见,我使用的是带有手把的ExpressJS模板。在我的路线中,我有这个:
var user = {}user = {'id' : 123, 'name' : 'First Name'}
res.render('index', {user : user});
然后在index.hbs模板中,我有了一个{{user}}
对象。我可以使用{{#each}}
它遍历对象。但是,我也在使用Backbonejs,我想将此数据传递给View,例如:
myView = new myView({user : {{user}});
问题是,如果我将其放在console.log中,{{user}}
只会[Object object]
在源代码中显示,但会出现错误“意外的标识符”。
回答:
输出时{{user}}
,把手将首先检索user
的.toString()
值。对于plain Object
,默认结果是"[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
});
以上是 Handlebars.js解析对象而不是[Object object] 的全部内容, 来源链接: utcz.com/qa/411212.html