web-dev-qa-db-fra.com

Comment échapper aux délimiteurs "{{" et "}}" dans les modèles Go?

J'utilise AngularJS en tant que bibliothèque JS front-end, avec des modèles Go dans la structure Revel pour générer le balisage sur le back-end.

Cependant, Go et Angular utilisent {{ et }} pour les délimiteurs dans leurs modèles. Comment puis-je leur échapper dans Go pour les transmettre à AngularJS?

32
Coder1

Je ne sais pas comment y échapper, mais vous pouvez choisir un autre délimiteur à la place en utilisant Delims :

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

Selon la liste de diffusion }, c'est probablement la meilleure option. L'argument était que si vous y échappez, vos modèles seront difficiles à lire. Il serait donc probablement préférable de changer le délimiteur au lieu d'essayer de le modifier.

25
beatgammit
{{"{{"}}
{{"}}"}}

produit

{{
}}
51
Mostafa

Une solution simple consisterait à utiliser 

{{`{{Your.Angular.Data}}`}}
19
JSNoob

Dans Revel, il existe un moyen de le gérer:

Dans /conf/app.conf, ajoutez cette ligne:

template.delimiters = "[[]]"

Il utilisera [[]] au lieu d'utiliser la valeur par défaut {{}}. Vous pouvez également utiliser:

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

Donc, pour revel, il utilise {{{}}}, pour angularJS, il utilise {{}}

0
Timothy Ye