Как мне избежать разделителей "{{" и "}}" в шаблонах Go?
Я использую AngularJS в качестве интерфейсной библиотеки JS с шаблонами Go в рамках Revel для создания разметки на серверной части.
Но и Go, и Angular используют {{
а также }}
для разделителей в их шаблонах. Как я могу избежать их в Go, чтобы передать их AngularJS?
4 ответа
Я не знаю, как избежать этого, но вместо этого вы можете выбрать другой разделитель Delims
:
func (t *Template) Delims(left, right string) *Template
Согласно списку рассылки, это, вероятно, лучший вариант. Аргумент состоял в том, что если вы избежите этого, ваши шаблоны будут трудно читать, поэтому в любом случае, вероятно, будет лучше изменить разделитель, чем пытаться его взломать.
Простой обходной путь будет использовать
{{`{{Your.Angular.Data}}`}}
В Revel есть способ справиться с этим:
В /conf/app.conf добавьте эту строку:
template.delimiters = "[[]]"
Он будет использовать [[]] вместо использования по умолчанию {{}}, вы также можете использовать:
template.delimiters = "{{{}}}"
Так, для упования он использует {{{}}}, для angularJS - {{}}