变量作为参数来标记函数
Variables As Arguments To Tag Functions
是否可以在模板字面量为变量的情况下创建标签函数?
例如而不是这个
render`<h1>Hello World</h1>`
有什么办法吗?
const template = `<h1>Hello World</h1>`
render(template)
不,那不可能。 Tagged templates 是一种特殊语法,其中 render
将使用字符串数组和所有 ${value}
值进行调用。通过将它存储在这样的变量中,模板文字被解释为要转换为字符串而不是函数调用的常规模板文字。
当然,如果您的 render
函数所做的只是连接模板及其变量,那也没关系。但请注意,当您将模板字面量存储在变量中时,模板文字中的变量已经被评估,以后无法重新评估。
是否可以在模板字面量为变量的情况下创建标签函数? 例如而不是这个
render`<h1>Hello World</h1>`
有什么办法吗?
const template = `<h1>Hello World</h1>`
render(template)
不,那不可能。 Tagged templates 是一种特殊语法,其中 render
将使用字符串数组和所有 ${value}
值进行调用。通过将它存储在这样的变量中,模板文字被解释为要转换为字符串而不是函数调用的常规模板文字。
当然,如果您的 render
函数所做的只是连接模板及其变量,那也没关系。但请注意,当您将模板字面量存储在变量中时,模板文字中的变量已经被评估,以后无法重新评估。