with
またはrange
内にある場合、.
のスコープが変更されます。呼び出しスコープにどのようにアクセスしますか?
{{with .Inner}}
Outer: {{$.OuterValue}}
Inner: {{.InnerValue}}
{{end}}
$
は テキスト/テンプレート ドキュメントに記載されています:
実行が開始されると、$は実行に渡されるデータ引数、つまりドットの開始値に設定されます。
呼び出しスコープは、変数を使用して保存できます。
{{ $save := . }}
{{ with .Inner }}
Outer: {{ $save.OuterValue }}
Inner: {{ .InnerValue }}
{{ end }}