如何在哈巴狗中插入变量字符串?

时间:2016-10-25 10:04:09

标签: javascript pug

在下文中,myVar包含字符串“今天,它是$ {date}”。 此外,还有一个名为date的变量,其中包含“十月一日”。我希望使用以下pug语法将文字${date}替换为date变量内容。

span!= myVar

不幸的是,该示例导致

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

预期结果

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

祝你好运, 本尼迪克特

3 个答案:

答案 0 :(得分:3)

是的,正如@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

希望这会有所帮助。随时欢迎提出更正和建议!

答案 1 :(得分:1)

Pug用哈希进行插值。 #{插值}

答案 2 :(得分:0)

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

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