繁体   English   中英

如何在pug中插值可变字符串?

[英]How do I interpolate variable string in pug?

在下面的代码中, myVar包含字符串“ Today,it's $ {date}”。 此外,还有一个名为date的变量,其中包含“ Oct of October”。 我希望以下pug语法用date变量content替换文字${date}

span!= myVar

不幸的是,该示例导致

<span>Today, it's the ${date}</span>

预期结果

<span>Today, it's the 1st of October.</span>

最好的问候,Benedikt

是的,正如@omgninjas所指出的那样,它被称为插值,在Pug中以#开头。

但是,您不能总是使用它(例如,在字符串中)。 这里有些例子:

sensor是控制器传递给视图的变量。

  1. 普通插补。 按预期工作:

<div id=#{sensor} style="width:90%;height:250px;"></div>

  1. 在带有模板文字的字符串内( 不要将其与用户提供的值一起使用!):

img(src=`/images/${sensor}.png`, style="width:20%")

  1. 在用于表示函数调用的字符串中。 请注意,您不能在函数调用中使用`符号(模板文字中使用的反勾号或重音符号),因为您必须将整个函数调用都包含在内。 这将导致不执行字符串。 您需要使用字符串连接。

body(onload="initTemp('"+ sensor +"')")

这是帕格插值的官方文档: https : //pugjs.org/language/interpolation.html

希望这可以帮助。 随时欢迎提出更正和建议!

Pug用哈希值插值。 #{interpolation}

要直接在Pug模板中的字符串中呈现变量,可以使用典型的ES6插值。 示例(假设pageTitle在范围内,并作为模板上下文传递):

 - var pageTitle = `Google | ${pageTitle}`;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM