繁体   English   中英

从 Pug 中的字符串插入新行

[英]Interpolate new line from string in Pug

我使用pugnodemailerNodeJS服务器来处理电子邮件模板。

在我的情况下,我在locals对象中有以下对象

{
    from: 'abc@xyz.com',
    message: 'a\nb\nc\nd\ne',
}

现在在pug文件中,我有以下行

p #{message}

问题是在电子邮件中我没有收到带有新行的文本。

提交的消息忽略\\n并将所有内容放在同一行abcde

我需要使用新行获取页面中的文本,就像它在对象中一样。

a
b
c
d
e

这个问题的解决方案是什么?

据我所知, <p>标签忽略预格式化,也许尝试使用<pre>代替?

pre #{message}

HTML不使用\\n作为换行符-它使用break <br>元素。 将您的message更改为:

message: "a<br>b<br>c<br>d<br>e"

如果要为每个段落使用<p>而不是<pre> ,则可以将每个换行符转换为Pug中的新段落:

section
  each line in message.split('\n') 
    p #{line}

这将呈现:

<section>
  <p>a</p>
  <p>b</p>
  <p>c</p>
  <p>d</p>
  <p>e</p>
</section>

假设示例中的abc等实际上是您为创建快速示例而缩短的文本块。

暂无
暂无

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

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