插值

Pug 提供了各种不同的插值需求的操作符。

字符串插值,转义

考虑以下模板的局部变量的放置:titleauthortheGreat

title 遵循评估模板局部的基本模式,但 #{} 之间的代码将被评估、转义,并将结果缓冲到要呈现的模板的输出中。

这可以是任何有效的 Javascript 表达式,因此您可以做任何感觉良好的事情。

Pug 足够聪明,可以找出表达式结束的位置,因此您甚至可以包含 } 而无需转义。

如果您需要包含一个原义的 #{,您可以转义它,或使用插值。(如此元!)

字符串插值,未转义

不必保持安全。您也可以将未转义的值缓冲到模板中。

警告

请记住,如果内容来自您的用户,则将未转义的内容缓冲到模板中可能会非常危险。永远不要信任用户输入!

标签插值

插值不仅适用于 JavaScript 值,也适用于 Pug。只需使用标签插值语法,如下所示

你可以通过在 Pug 中内联编写 HTML 标签来实现相同的效果……但是,这样编写 Pug 的意义何在?将内联 Pug 标签声明包装在 #[] 中,它将被评估并缓冲到其包含标签的内容中。

空格控制

标签插值语法对于内联标签特别有用,其中标签前后的空格很重要。

但是,默认情况下,Pug 会删除所有标签前后的空格。查看以下示例

请参阅 纯文本 页面中的空格部分,以了解有关此主题的更多讨论。