【发布时间】:2019-06-10 13:48:16
【问题描述】:
我正在尝试将模板文字与 Lodash'_.template() 结合使用,根据来自另一个确定打开/关闭的函数的响应从 JSON 文件中选择一条消息,但它对我不起作用。
流程:
- 函数运行逻辑并通过
opencloseResponse.openclose对象返回open或close(假设工作正常,但未显示在下面的代码sn-p 中) - 使用 Lodash
_.template()我将messages.open或messages.close与用户的名字作为first_name - 显示消息文本
没有模板文字的工作示例
messages.json
{
"messages": {
"open": "Hello ${ first_name }! We are open!",
"closed": "Hello ${ first_name }! We are closed!"
}
}
app.js
const _ = require('lodash');
const { messages } = require('messages.json');
const sendMessage = _.template(messages.open);
console.log(sendMessage({ first_name: 'Jeremy' }));
output
Hello Jeremy! We are open!
使用模板文字的失败示例
messages.json
{
"messages": {
"open": "Hello ${ first_name }! We are open!",
"closed": "Hello ${ first_name }! We are closed!"
}
}
app.js
const _ = require('lodash');
const { messages } = require('messages.json');
const sendMessage = _.template(`messages.${opencloseResponse.openclose}`);
console.log(sendMessage({ first_name: 'Jeremy' }));
output
messages.open
我希望我缺少一些简单的东西。一整天都让我发疯。感谢您的帮助!
【问题讨论】:
标签: javascript node.js lodash template-literals