0

こんにちは、nodejs と express で jade を使用して Web ページを作成しています。この場合、if ステートメントを使用して、さまざまなスタイルのボディを作成したいと考えています...

ここにコードがあります

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


    h2 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 に答える