例如,我有一个像这样的对象:
{ '#SKU_NBR': '123' }
我想打印出值,但是这个简单的语法不起作用:
<div>{{#SKU_NBR}}<div>
如何逃避字段的名称,以便我可以在把手的模板表达中使用它?
答案 0 :(得分:0)
解决此问题的一种方法是使用助手功能。我制作了一个名为get
的文件,它只是基于字符串获取一个字段。
import Handlebars from 'handlebars'
import get from 'lodash/get'
Handlebars.registerHelper('get', function (path, opts) {
return get(opts, `data.root.${path}`)
})
const template = Handlebars.compile('{{get "#upc"}}');
const result = template({ '#upc': 'abc123' })
console.log(result) // abc123
您也可以在子表达式中使用它,
{{tolowercase (get "#upc")}}
答案 1 :(得分:0)
要详细说明bigless的答案,可以使用以下任何一种方法:
{{ "#SKU_NBR" }}
{{ '#SKU_NBR' }}
{{ [#SKU_NBR] }}
这些可解析转义字符中命名的变量(与仅包含字符串#SKU_NBR
相对)。
我有一个类似的问题,因为我有名为this
和with
的变量。我发现{{[this]}}
可以正常工作,但是{{[with]}}
却没有。我可以使用{{this.with}}