Jade:条件语句无法正常工作:根本不进行比较

时间:2015-06-17 17:05:34

标签: node.js pug

我的.jade模板中有这个条件语句:

- var merchant = "{{merchant}}"
if merchant == "The Restaurant"
    h1 It worked!
else
    h1 "{{merchant}}"

当我打印' {{商家}}'在我的其他声明中,它与#34; The Restaurant"完全一致。因此,条件应该评估为真。

当我重新处理我的代码时:

- var merchant = "The Restaurant"
if merchant == "The Restaurant"
    h1 It worked!
else
    h1 "{{merchant}}"

它确实有效。我不明白为什么if条件仍在评估为假。有什么建议?谢谢!

1 个答案:

答案 0 :(得分:0)

如果您正在使用Express.js并通过merchant方法提供res.render变量,那么您无需再次声明该变量。它已经在渲染环境中可用。

Jade还使用#{}进行字符串插值,而不是像Handlebars那样使用{{}}。因此,将您的代码更改为以下内容,它将正常工作

if merchant == "The Restaurant"
    h1 It worked!
else
    h1 #{merchant}

我能够通过以下Express路线成功运行

router.get('/', function(req, res, next) {
  res.render('index', { merchant: 'The Restaurant' });
});