0

你好我使用jade和nodejs和express来制作网页,在这种情况下我想使用if语句来创建一个具有不同风格的主体......

这是代码

-if(image && image.length)
    body(style="background-image:url(#{image})")
-if(color && color.length)
    body(style="background-color:#{color}")


    h2 hello world

如果背景存在,则使用背景图像

如果存在颜色,则使用背景颜色

但问题是当图像存在时,hello world 或所有缩进正文的代码都不起作用,如果我在颜色存在时将图像上色,其余代码为空......

我该如何解决这个问题

编辑2:

我在两个语句中都使用 include 修补了这个问题

-if(image && image.length)
    body(style="background-image:url(#{image})")
    include restofcode
-if(color && color.length)
    body(style="background-color:#{color}")
    include restofcode

restofcode.jade

h2 hello world

一切正常

4

1 回答 1

3

试试这个,而不是不能正确缩进:

- var myStyle = ''
- if(image && image.length) 
  - myStyle += "background-image:url(" + image + ");";
- if(color && color.length) 
  - myStyle += "background-color:" + color + ";";
body(style=myStyle)
    h2 Hello World
于 2013-02-25T01:12:08.877 回答