В шаблоне, как вы получаете доступ к внешней области внутри области "с" или "диапазон"? Внутри with или range область . изменяется. Как получить доступ к области вызова? Ответ 1 {{with .Inner}} Outer: {{$.OuterValue}} Inner: {{.InnerValue}} {{end}} $ документируется в text/template docs: Когда выполнение начинается, $устанавливается на аргумент данных, переданный в Execute, то есть на начальное значение точки. Ответ 2 Вы можете сохранить область вызова с переменной: {{ $save := . }} {{ with .Inner }} Outer: {{ $save.OuterValue }} Inner: {{ .InnerValue }} {{ end }}
Ответ 1 {{with .Inner}} Outer: {{$.OuterValue}} Inner: {{.InnerValue}} {{end}} $ документируется в text/template docs: Когда выполнение начинается, $устанавливается на аргумент данных, переданный в Execute, то есть на начальное значение точки.
Ответ 2 Вы можете сохранить область вызова с переменной: {{ $save := . }} {{ with .Inner }} Outer: {{ $save.OuterValue }} Inner: {{ .InnerValue }} {{ end }}