Как избежать "{{" и "}}" разделителей в шаблонах Go?
Im использует AngularJS как интерфейсную JS-библиотеку с шаблонами Go в рамках Revel для создания разметки на внутреннем сервере.
Но как Go, так и Angular используйте {{
и }}
для разделителей в своих шаблонах. Как я могу избежать их в Go, чтобы передать их в AngularJS?
Ответы
Ответ 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 он использует {{}}