Jade / pug:将包含变量的 html 传递到模板中



我正在开发一个基于keystone.js的应用程序。我希望最终用户能够创建根据变量更改的内容。例如,如果他们想要创建一个电子邮件模板,他们可以写:

嗨 #{名字},...

这将作为纯 html 传递到 jade 中,如下所示:

嗨#{名字}...

模板应将 #{firstName} 评估为有问题的名字。

我尝试在玉石模板中实现这一点,如下所示:

//Jade template
.div
p #{firstName}
.div
!=html

p #{firstName} 行打印 firstName的值,但 !=html 打印 "Hi #{firstName},..."。

我做错了什么,还是 Jade 不支持?

这是预期行为。 ! 是一个转义字符,只需要文本而不是变量。

你应该在 NodeJS 中评估 pug html,将此字符串作为变量传递给 pug 模板。

节点JS代码

var pug = require('pug');
html = pug.render(html, {firstName:firstName});

哈巴狗代码

.div
p #{firstName}
.div
!=html

最新更新