簡體   English   中英

在車把中,如何在字段名稱中轉義特殊字符?

[英]In handlebars, how can I escape special characters in field names?

例如,我有一個這樣的對象:

{ '#SKU_NBR': '123' }

我想打印出該值,但是簡單的語法不起作用:

<div>{{#SKU_NBR}}<div>

如何轉義字段的名稱,以便可以在車把的模板表達式中使用它?

解決此問題的一種方法是使用助手功能。 我做了一個叫做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")}}

要詳細說明bigless的答案,可以使用以下任一方法:

  • {{ "#SKU_NBR" }}
  • {{ '#SKU_NBR' }}
  • {{ [#SKU_NBR] }}

這些解析在轉義字符中命名的變量(而不是僅包含字符串#SKU_NBR )。

我有一個類似的問題,因為我有名為thiswith變量。 我發現{{[this]}}工作,但{{[with]}}卻沒有工作。 我可以使用{{this.with}}解決此問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM