【发布时间】:2020-02-07 12:53:47
【问题描述】:
我试图对来自数据库的值使用模板文字,该值如下所示保存
{
"classical" : "cs",
"state" : "myState",
"template" : "this is ${countryName} <b>Thanks for ${departmentName}</>"
}
这就是它在我的数据库中的保存方式。现在,在我的业务逻辑中,我读取了此记录并获取模板值并将其保存到变量中。 我想替换 {countryName} 并使用来自数据的一些值。
我曾尝试使用电子邮件模板模块的渲染功能,但它不起作用。以下是我尝试过的一些代码。
方法一:
function render(template, dataNext) {
return template(dataNext);
}
const tpl = () => `${myDBObject[0].template}`;
console.log(render(tpl, { countryName: "India", departmentName: "science"}));
上面我对印度进行了硬编码只是为了理解目的,该值也将来自数据库。
我期待一些 es6 方法用我的值替换这些容器。
【问题讨论】:
-
您知道模板中变量的名称是什么(在您的示例中为
countryName和departmentName)吗?如果是这样,一个简单的.replace就可以完成这项工作 -
countryName 和 departmentName 来自哪里??
标签: javascript string ecmascript-6 replace template-literals