如何将新行添加到传递给 pug 的变量中

How to add new lines into a variable passed into pug

我正在尝试将需要包含新 lines/brake 行的值传递到哈巴狗文件中。

到目前为止我已经试过了

var value1 = "value 1";
var value2 = "value 2";
var infromation = "\n" + value1 + "\n" + value2;
res.render('pugfile', { information: information });

但是当它通过

在 pug 中呈现时
p Your messages are: #{information}

html 呈现为

<p> 
value 1
value 2
</p>

但显示的网页上没有显示新行,这是问题所在。 请帮忙?

不用 \n 作为换行符,而是使用 <br> 作为换行符。而且你还需要转义字符串。供参考check this.

试试这个。

  let value1 = "value 1";
  let value2 = "value 2";
  // let information = "\n" + value1 + "\n" + value2;
  let information = "<br>" + value1 + "<br>" + value2;
  res.render("index", { information: information });

在哈巴狗模板中

p Your messages are: !{information}

Please check here for working code

这是一个旧话题,但如果您使用的是来自用户的数据,那么使用像 !{information} 这样的非转义值是非常危险的,用换行符拆分字符串并使用标准转义字符串会更安全:

p Your messages are:
  each str, indx in String(information).split('\n')
    if indx > 0
      br
    | #{str}