web-dev-qa-db-ja.com

テンプレートで、「with」または「range」スコープ内にあるときに、どのように外部スコープにアクセスしますか?

withまたはrange内にある場合、.のスコープが変更されます。呼び出しスコープにどのようにアクセスしますか?

38
Randy Proctor
{{with .Inner}}
  Outer: {{$.OuterValue}}
  Inner: {{.InnerValue}}
{{end}}

$テキスト/テン​​プレート ドキュメントに記載されています:

実行が開始されると、$は実行に渡されるデータ引数、つまりドットの開始値に設定されます。

60
Testuser

呼び出しスコープは、変数を使用して保存できます。

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