我编写了node.js的演示并尝试使用jade模板,如下面的代码:
if name == 'a'
block header
h4 statement1
else
block header
h4 statement2
'name'是一个传递给模板的参数,模板文件扩展到其他模板,所以我尝试在块'header'中显示一些内容。
但我发现它总是显示statement1内容,即使' name'未定义或任何其他值。
我测试了名称的值是否正确传递,所以似乎'if'语句在我的代码中不起作用。我怎样才能正常工作?
答案 0 :(得分:0)
如果您可以看到statement1,那么这意味着您的if条件正常工作我建议您应该检查块头是否正确扩展。也许你可以分享你正在做的事情。
答案 1 :(得分:0)
尝试这样做。它应该工作:
block header
if name == 'a'
h4 statement1
else
h4 statement2
根据我的理解,这与Jade在解决条件之前解析的事实有关。如果你喜欢这样:
if true
append header
h4 hello
else
append header
h4 world
Jade追加"你好"和#34;世界"即使这应该是不可能的,因为if语句显然是正确的。这进一步说明条件不会评估如何正确处理扩展。