无法使用Node的Express访问Handlebars模板中的对象属性
我在Express框架下使用Handlebars的hbs
模块:
var hbs = require('hbs'); app.set('view engine', 'html'); app.engine('html', hbs.__express);
像这样设置我的视图variables:
userModel.find({ twitter: username }, function(err, profile){ if(err){ return next(err); } res.render('profile.html', { profile: profile }); });
如果我在模板中这样做:
{{profile}}
我得到:
{ name: 'xxxxx', twitter: 'xxxxx', avatar: 'xxxxxxxx', _id: 531cd64568282e0000000001, __v: 0, links: [], booked: [] }
但是,如果我做一些简单的事情:
<p class="profile-name">{{profile.name}}</p>
在同一个文件中,没有输出! 有任何想法吗?
仅供参考,这似乎是诀窍:
userModel.findOne({ twitter: username }).lean().exec(function(err, profile) {