需要Handlebars.js来呈现对象数据,而不是"[Object Object]&Quot;

Need Handlebars.js to render object data instead of quot;[Object object]quot;(需要Handlebars.js来呈现对象数据,而不是quot;[Object Object]Quot;)
本文介绍了需要Handlebars.js来呈现对象数据,而不是"[Object Object]&Quot;的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是Handlebar模板,而JSON数据已经在[Object Object]中表示,我如何在Handlebar之外解析此数据?例如,我试图通过Handlebar标记填充页面上的JavaScript变量,但这不起作用。

有什么建议吗?谢谢!

编辑:

为澄清起见,我使用ExpressJS w/Handlebar作为模板。在我的路线中,我有以下内容:

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}}时,句柄将首先检索user.toString()值。对于普通Object,则检索您看到的default result of this is 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
});

这篇关于需要Handlebars.js来呈现对象数据,而不是"[Object Object]&Quot;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Update another component when Formik form changes(当Formik表单更改时更新另一个组件)
Formik validation isSubmitting / isValidating not getting set to true(Formik验证正在提交/isValiating未设置为True)
React Validation Max Range Using Formik(使用Formik的Reaction验证最大范围)
Validation using Yup to check string or number length(使用YUP检查字符串或数字长度的验证)
Updating initialValues prop on Formik Form does not update input value(更新Formik表单上的初始值属性不会更新输入值)
password validation with yup and formik(使用YUP和Formick进行密码验证)