簡體   English   中英

如何在 Go 模板中轉義“{{”和“}}”分隔符?

[英]How do I escape “{{” and “}}” delimiters in Go templates?

我使用 AngularJS 作為前端 JS 庫,在 Revel 框架中使用 Go 模板在后端生成標記。

但是 Go 和 Angular 在其模板中都使用{{}}作為分隔符。 如何在 Go 中轉義它們以將它們傳遞給 AngularJS?

{{"{{"}}
{{"}}"}}

產生

{{
}}

一個簡單的解決方法是使用

{{`{{Your.Angular.Data}}`}}

我不知道如何轉義它,但您可以使用Delims選擇不同的分隔符:

func (t *Template) Delims(left, right string) *Template

根據郵件列表,這可能是最好的選擇。 爭論是如果你逃避它,你的模板將很難閱讀,所以無論如何改變分隔符而不是試圖繞過它可能會更好。

在 Revel 中,有一種方法可以處理它:

在 /conf/app.conf 中,添加以下行:

template.delimiters="[[ ]]"

它將使用 [[]] 而不是使用默認的 {{}},您也可以使用:

template.delimiters="{{{ }}}"

因此,對於狂歡,它使用 {{{ }}},對於 angularJS,它使用 {{ }}

暫無
暫無

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

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