【问题标题】:jade template ignoring first space on line after pipe symbol玉模板忽略管道符号后的第一个空格
【发布时间】:2025-12-31 23:45:01
【问题描述】:

我有一个关于玉模板的小细节问题

我看到以下模板:

p(data-ng-show="submitting")
 i.icon-cog.icon-spin
 | Authenticating...

正在转换成这个 HTML

<p data-ng-show="submitting"><i class="icon-cog icon-spin"></i>Authenticating...</p>

请注意,“Authenticating...”之前的单个空格不会转移到已编译的 HTML 中。这里唯一的解决方案是使用 来强制留白吗?

【问题讨论】:

    标签: pug templating


    【解决方案1】:

    这就是 Jade 的工作方式,而且我知道,不得不处理这样的事情是非常糟糕的。

    你可以这样做:

    p(data-ng-show="submitting")
     i.icon-cog.icon-spin
     |  Authenticating...
    

    我认为这有点棘手。

    另一个选项是打印一个空白 HTML 实体,正如 @brnrd 已经建议的那样:

    p(data-ng-show="submitting")
      i.icon-cog.icon-spin
      | &nbsp;Authenticating...
    

    另一种选择,但在我看来非常糟糕(或者如果你使用 i18n 则不会那么糟糕),是:

    p(data-ng-show="submitting")
      i.icon-cog.icon-spin
      = " Authenticating..."
    

    【讨论】:

      【解决方案2】:

      只需添加一个空格字符:

      &nbsp;
      

      作为:

      p(data-ng-show="submitting")
        i.icon-cog.icon-spin
        | &nbsp;Authenticating...
      

      它成功了。

      【讨论】:

        最近更新 更多