【问题标题】:Can't access object property inside Handlebars template with Node's Express无法使用 Node 的 Express 访问 Handlebars 模板中的对象属性
【发布时间】:2014-04-12 20:32:38
【问题描述】:

我在 Express 框架下为 Handlebars 使用 hbs 模块:

var hbs = require('hbs');
app.set('view engine', 'html');
app.engine('html', hbs.__express);

像这样设置我的视图变量:

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>

在同一个文件中,没有输出!?有什么想法吗?

【问题讨论】:

    标签: node.js express handlebars.js


    【解决方案1】:

    使用.lean(),它可以正常工作

    【讨论】:

      【解决方案2】:

      仅供参考,这似乎可以解决问题:

      userModel.findOne({
          twitter: username
      }).lean().exec(function(err, profile) {
      

      【讨论】:

        猜你喜欢
        • 2020-05-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-18
        • 1970-01-01
        • 1970-01-01
        • 2016-06-23
        相关资源
        最近更新 更多