Подтвердить что ты не робот

Как избежать "{{" и "}}" разделителей в шаблонах Go?

Im использует AngularJS как интерфейсную JS-библиотеку с шаблонами Go в рамках Revel для создания разметки на внутреннем сервере.

Но как Go, так и Angular используйте {{ и }} для разделителей в своих шаблонах. Как я могу избежать их в Go, чтобы передать их в AngularJS?

4b9b3361

Ответ 1

Я не знаю, как избежать этого, но вы можете выбрать другой разделитель вместо Delims:

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

В соответствии с список рассылки, это, вероятно, лучший вариант. Аргумент состоял в том, что если вы избежите этого, ваши шаблоны будут трудно читать, поэтому, вероятно, было бы лучше в любом случае изменить разделитель вместо того, чтобы пытаться его обмануть.

Ответ 2

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

производит

{{
}}

Ответ 3

Простым обходным решением будет использование

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

Ответ 4

В Ревеле есть способ справиться с этим:

В/conf/app.conf добавьте эту строку:

template.delimiters = "[[]]"

Он будет использовать [[]] вместо использования по умолчанию {{}}, вы также можете использовать:

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

Итак, для revel он использует {{{}}}, для angularJS он использует {{}}