jade中的多行非编译属性

时间:2017-01-20 18:29:40

标签: pug pugjs


我试图这样做:

body(
  |{% case page.url %}
  | {% when '/' %}
  |    class="hellopage"
  | {% when page.url contains '/gallery/' %}
  |    class="gallerypage"
  |{% endcase %}
  )

这实际上是液体的{%..%}。
所以,它没有编译。如何在标签中编写多行属性?

1 个答案:

答案 0 :(得分:1)

修改

问题是Pug编译器不喜欢属性中的{%字符序列。在您的特定场景中,解决方法是转义换行符并将Liquid逻辑放在属性值字符串中:

body(class="\
   {% case page.url %}\
    {% when '/' %}\
       hellopage\
    {% when page.url contains '/gallery/' %}\
       gallerypage\
   {% endcase %}"
  )

旧答案:

我认为您不需要管道符(|)来执行此操作。 Pug在多行are supported上的属性。这样的事情就足够了:

body(
   {% case page.url %}
    {% when '/' %}
       class="hellopage"
    {% when page.url contains '/gallery/' %}
       class="gallerypage"
   {% endcase %}
  )

应该有效,但尚未测试(由于缺少Liquid + Pug测试环境)。