我的.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条件仍在评估为假。有什么建议?谢谢!
答案 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' });
});