0


我试图这样做:

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

这个 {% .. %} 实际上是为 Liquid 准备的。
所以,它没有被编译。如何在标签中编写多行属性?

4

1 回答 1

1

编辑:

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

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

老答案:

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

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

应该可以工作,但尚未对其进行测试(由于缺乏 Liquid+Pug 测试环境)。

于 2017-01-21T08:21:59.600 回答