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

В шаблоне, как вы получаете доступ к внешней области внутри области "с" или "диапазон"?

Внутри with или range область . изменяется. Как получить доступ к области вызова?

4b9b3361

Ответ 1

{{with .Inner}}
  Outer: {{$.OuterValue}}
  Inner: {{.InnerValue}}
{{end}}

$ документируется в text/template docs:

Когда выполнение начинается, $устанавливается на аргумент данных, переданный в Execute, то есть на начальное значение точки.

Ответ 2

Вы можете сохранить область вызова с переменной:

{{ $save := . }}
{{ with .Inner }}
  Outer: {{ $save.OuterValue }}
  Inner: {{ .InnerValue }}
{{ end }}