javascript - 如何使用从数据库或变量中查询的模板文字?
问题描述
我将 HTML 电子邮件模板存储在 MySQL 数据库中。其中大部分包含 JavaScript 变量。我尝试使用模板文字(即:)来存储它们,${this.auth.user.name}
但这不会返回变量,而是返回确切的字符串。我认为我的问题是因为字符串是用双引号或单引号封装的,而不是反引号。
所以我的 JavaScript 如下所示,这里template
显示了从我的 MySQL 查询的对象数组。
var email_template: this.template[0].body;
实际输出是 Hello ${this.auth.name}!
我期待 Hello Jack 的输出!
你有什么想法可能是什么问题?
在此先感谢,蒂博尔
解决方案
尝试new Function
像这样:
const name = "Jack";
const string = "Hello ${name}";
const actualString = new Function("return `" + string + "`").call(string);
console.log(actualString);
推荐阅读
- if-statement - 在struts 2中测试迭代器值
- python - 类似 C/C++ 的宏 #ifdef 0 在 python 中注释掉代码的方法
- c++ - C++ STL 数据结构恒定时间推送/弹出/随机访问,通过具有可靠的元素指针的索引
- npm - 有没有办法使用 babel 的不同配置生成多个转译文件?
- algorithm - 哪个版本的 Bellman-Ford 算法是正确的,CLRS 还是算法?
- android-activity - 在活动之间共享 ARCore Renderable
- java - 如何在 Windows 下从 USB 摄像头读取帧为 jpeg 流
- azure-sql-database - 使用 mirth connect 从 Meditech 接收 HL7 消息并保存到 azure db
- php - 如何针对父表中的外键显示值?
- .net - ASP.NET Core 2.1 Identity 找不到 ApplicationUser