【问题标题】:helpers {{#if }} doesn't render with expressjs and express3-handlebars助手 {{#if }} 不使用 expressjs 和 express3-handlebars 呈现
【发布时间】:2014-01-16 13:18:11
【问题描述】:

我的 nodejs 应用程序中使用 expressjs 和 express3-handlebars 的助手 {{#if}} 有问题:

app.js:

app.get('/view', function (req, res) {
    res.render('view', {
      valeur: true
    });
});

html:

{{#if valeur}}
   ok
{{else}}
   not ok
{{/if}}

'ok' 在 valeur 等于 true 时不渲染 (“不好”总是呈现) 谢谢

【问题讨论】:

    标签: javascript node.js express handlebars.js


    【解决方案1】:

    根据阅读来自 here 的示例使用文档,您的代码在我看来是正确的。

    你的代码和下面的sn-p很相似

    app.get('/', function (req, res, next) {
        res.render('home', {
            showTitle: true,
    
            // Override `foo` helper only for this rendering.
            helpers: {
                foo: function () { return 'foo.'; }
            }
        });
    });
    

    还有模板sn-p

     <!-- Uses built-in `if` helper. -->
      {{#if showTitle}}
        <h1>Home</h1>
      {{/if}}
    

    我建议通过在呈现的模板中显示您的变量来调试您的应用程序。例如:

    'view` 模板:

    The Valeur is {{valeur}}
    
    {{#if valeur}}
       ok
    {{else}}
       not ok
    {{/if}}
    

    以我个人的经验,你会发现变量的值(在你的情况下是valeur)不会像预期的那样,可能是null甚至false。我希望您可能已经简化了您的应用程序,并且其他一些代码会改变该值。

    希望你已经明白了!

    【讨论】:

      猜你喜欢
      • 2012-11-25
      • 1970-01-01
      • 2019-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-23
      • 1970-01-01
      相关资源
      最近更新 更多