「with」または「range」スコープ内のテンプレートの外部スコープへのアクセス
「with」または「range」スコープを使用する場合Go テンプレート内では、ドット (.) 演算子のスコープが現在のループ変数または構造体メンバーに変更されます。このため、外部スコープで定義された変数や関数にアクセスすることが困難になる可能性があります。
この問題に対処するために、Go テンプレートは、外部スコープへのアクセスを提供する "$" という名前の特別な変数を提供します。使用方法は次のとおりです:
{{with .Inner}} Outer: {{$.OuterValue}} # Accesses the OuterValue variable from the outer scope Inner: {{.InnerValue}} # Accesses the InnerValue variable from the inner scope {{end}}
「$」変数はテキスト/テンプレートのドキュメントに記載されています:
「実行が開始されると、$ は Execute に渡されるデータ引数に設定されます」つまり、ドットの開始値です。
これは、「$」が常にテンプレートに渡された元のデータ オブジェクトを指しており、次のデータ オブジェクトにアクセスできることを意味します。外側のスコープで定義された変数と関数。
以上がGo テンプレートの「with」または「range」スコープ内の外部スコープ変数にアクセスする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。