56

我使用 AngularJS 作为前端 JS 库,在 Revel 框架中使用 Go 模板在后端生成标记。

但是 Go 和 Angular 都在其模板中使用{{和作为分隔符。}}如何在 Go 中转义它们以将它们传递给 AngularJS?

4

4 回答 4

96
{{"{{"}}
{{"}}"}}

生产

{{
}}
于 2013-07-14T18:37:20.257 回答
55

一个简单的解决方法是使用

{{`{{Your.Angular.Data}}`}}
于 2016-08-14T10:02:16.187 回答
30

我不知道如何逃避它,但您可以选择不同的分隔符,而不是使用Delims

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

根据邮件列表,这可能是最好的选择。争论是,如果你逃避它,你的模板将难以阅读,所以无论如何改变分隔符可能会更好,而不是试图绕过它。

于 2013-07-14T17:45:17.223 回答
-2

在 Revel 中,有一种处理方法:

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

模板.delimiters="[[ ]]"

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

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

因此,对于 revel,它使用 {{{ }}},对于 angularJS,它使用 {{ }}

于 2016-03-30T07:20:52.923 回答