插值
Pug 提供了各种不同的插值需求的操作符。
字符串插值,转义
考虑以下模板的局部变量的放置:title
、author
和 theGreat
。
title
遵循评估模板局部的基本模式,但 #{
和 }
之间的代码将被评估、转义,并将结果缓冲到要呈现的模板的输出中。
这可以是任何有效的 Javascript 表达式,因此您可以做任何感觉良好的事情。
Pug 足够聪明,可以找出表达式结束的位置,因此您甚至可以包含 }
而无需转义。
如果您需要包含一个原义的 #{
,您可以转义它,或使用插值。(如此元!)
字符串插值,未转义
您不必保持安全。您也可以将未转义的值缓冲到模板中。
警告
请记住,如果内容来自您的用户,则将未转义的内容缓冲到模板中可能会非常危险。永远不要信任用户输入!
标签插值
插值不仅适用于 JavaScript 值,也适用于 Pug。只需使用标签插值语法,如下所示
你可以通过在 Pug 中内联编写 HTML 标签来实现相同的效果……但是,这样编写 Pug 的意义何在?将内联 Pug 标签声明包装在 #[
和 ]
中,它将被评估并缓冲到其包含标签的内容中。
空格控制
标签插值语法对于内联标签特别有用,其中标签前后的空格很重要。
但是,默认情况下,Pug 会删除所有标签前后的空格。查看以下示例
请参阅 纯文本 页面中的空格部分,以了解有关此主题的更多讨论。