使用express-handlerbars的helper函数的时候,我return了一个json对象,但是在模板那我不知道怎么写才能表达出这个json对象的各个值。
helper如下
var hbs = exphbs.create({
helpers: {
foo: function () { return 'FOO!'; },
bar: function () {
var data = {
user:[
{name: "foo"},
{pass: "bar"}
]
};
return data;
}
}
});
路由器改写了foo,但是bar没有改写
app.get('/', function (req, res, next) {
res.render('home', {
showTitle: true,
// Override `foo` helper only for this rendering.
helpers: {
foo: function () { return 'foo.'; }
}
});
});
模板如下
{{#if showTitle}}
<h1>Home</h1>
{{/if}}
<p>{{foo}}</p>
{{#bar}}
<p>user.name</p>
<p>user.pass</p>
{{/bar}}
页面输出结果如图
要如何编写这个模板才能正确显示json对象里的user.name和user.pass呢?
return JSON.stringify(data)试试
没用过 express-handlebars,也没有试,不过你好歹给 user.name
和 user.pass
加上双花括号吧。