我正在开发基于keystone.js的应用程序。我希望最终用户能够创建基于变量更改的内容。例如,如果他们想要创建电子邮件模板,他们可以写:
嗨#{firstName},...
这将像普通的html一样传递给jade:
嗨#{firstName} ...
模板应将#{firstName}评估为相关名字。
我已尝试在玉石模板中实现此功能,如下所示:
//Jade template
.div
p #{firstName}
.div
!=html
p#{firstName}行打印firstName的值,但是!= html打印"嗨#{firstName},..."。
有什么我做错了或者这只是Jade不支持吗?
答案 0 :(得分:0)
这是预期的行为。 !是一个转义字符,只希望文本不是变量。
你应该在nodejs中评估pug html,将这个字符串作为变量传递给pug模板。
nodejs代码
var pug = require('pug');
html = pug.render(html, {firstName:firstName});
pug代码
.div
p #{firstName}
.div
!=html