2013-07-14 8 views
26

Ich benutze AngularJS als Front-End-JS-Bibliothek, mit Go-Vorlagen innerhalb von Revel-Framework, um das Markup auf dem Back-End zu generieren.Wie kann ich "{{" und "}} Trennzeichen in Go-Vorlagen entfernen?

Aber beide Go und Angular verwenden {{ und }} für Trennzeichen in ihren Vorlagen. Wie kann ich ihnen in Go entkommen, um sie an AngularJS weiterzugeben?

Antwort

20

Ich weiß nicht, wie es zu entkommen, aber man könnte eine andere Trennzeichen statt Delims mit wählen:

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

Nach den mailing list, ist dies wahrscheinlich die beste Option. Das Argument war, dass, wenn Sie es entkommen, Ihre Vorlagen schwer zu lesen sein werden, also wäre es wahrscheinlich besser, das Trennzeichen zu ändern, anstatt es zu umgehen.

+4

Erwähnenswert, diese Änderung [kann auf der Angular] (http://stackoverflow.com/q/12923521/1348195) Seite auch getan werden. –

+6

@tjameson Danke, das hat mir auch geholfen das Revel Framework zu finden, unterstützt es als Config. Um es zu '[[' '' '' '' '' '' zu ändern, würde es in der app.conf als 'template.delimiters =" [[]] "definiert werden. – Coder1

+0

@BenjaminGruenbaum Tolle Infos, war mir nicht bewusst, aber jetzt, wo ich darüber nachdenke, kaum überrascht, dass sie bereits eine Lösung dafür haben. Vielen Dank. – Coder1

30
{{"{{"}} 
{{"}}"}} 

produziert

{{ 
}} 
+2

Nicht im Zusammenhang mit einem IMG src, etc: http://go-vim.appspot.com/p/bLTDfe76-s –

+0

@WesAlvaro wissen Sie warum? und Workaround? – Julien

+1

@Julien Yeah, weil der GoLang Templater _very_ streng ist und den Charakteren für dich entgeht. Du musst durch ein Paar Reifen springen, um sie als rohe, sichere Charaktere zu akzeptieren. –

0

In Revel, gibt es eine Möglichkeit, es zu handhaben:

In /conf/app.conf, fügen Sie diese Zeile:

template.delimiters = "[[]]"

Es verwendet [[]] anstelle von Standard {{}}, Sie können auch verwenden:

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

Also, für schwelgen, verwendet es {{{}}}, für AngularJS, verwendet es {{}}

7

Eine einfache Abhilfe würde verwenden

{{`{{Your.Angular.Data}}`}} 
Verwandte Themen