我可以使用Pug模板化一组通用属性吗?

时间:2019-02-21 03:44:14

标签: pug

我正在设置HTML电子邮件的模板,许多表格如下所示:

table( align='center', border='0', cellpadding='0', cellspacing='0', width='100%' )

为了节省时间并提高可读性,我想如果我能写出更多这样的东西,那将是一件好事:

- var tableAttrs = "align='center', border='0', cellpadding='0', cellspacing='0', width='100%'"
table( tableAttrs )

以上输出tableAttrs="tableAttrs"#{="#{" tableAttrs="tableAttrs" }="}"(内插)。

我还尝试了一个简单的mixin,我不希望它支持嵌套,也不会感到失望:

mixin table()
  table( align='center', border='0', cellpadding='0', cellspacing='0', width='100%' )

+table()
  tbody...

无论我的目标是否可行,我都想知道!

1 个答案:

答案 0 :(得分:1)

如果您包含block语句,则Mixins确实支持嵌套。

Mixin:

mixin table()
  table(align='center', border='0', cellpadding='0', cellspacing='0', width='100%')
    if block
      block

用法:

+table()
  tr
    td text

结果:

<table align="center" border="0" cellpadding="0" width="100%">
  <tr>
    <td>text</td>
  </tr>
</table>