2014-01-16 37 views
1

我有一个问题帮手{{#如果}}使用expressjs和express3车把我的应用程序的NodeJS:助手{{#如果}}不expressjs和express3车把渲染

app.js :

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

HTML:

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

'OK' 不渲染而valeur等于真 ( '不正常' 总是被渲染) 感谢

回答

0

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

你的代码非常相似,下面的代码片段

app.get('/', function (req, res, next) { 
    res.render('home', { 
     showTitle: true, 

     // Override `foo` helper only for this rendering. 
     helpers: { 
      foo: function() { return 'foo.'; } 
     } 
    }); 
}); 

而且模板片断

<!-- 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。我期待着你可能已经简化了你的应用程序,并且还有一些代码正在改变这个价值。

希望你已经想通了!