Gui*_*ent 5 javascript ecmascript-6 template-literals
我尝试渲染ES6模板文字变量:
function render(template, data){
...
}
const template = 'resources/${id}/';
console.log(render(template, {id: 1})); // -> resources/1/
Run Code Online (Sandbox Code Playgroud)
是否存在将具有上下文的字符串模板转换为具有ES6模板文字功能的格式化字符串的方法?
Ali*_*lik 13
您不能使用简单的模板文字来完成此操作.
但是,您可以通过将文字包装到函数中来实现此类行为.由于ES6功能(解构和箭头功能),结果代码很简单
function render(template, data) {
return template(data);
}
const tpl = ({ id }) => `resources/${id}/`;
console.log(render(tpl, { id: 1})); // resources/1/
Run Code Online (Sandbox Code Playgroud)