テキスト/テンプレート パッケージ内では、開発者は範囲アクションの前にパイプライン値にアクセスしたり、 Execute に渡された親/グローバル パイプラインを利用します。この記事では、この要件を詳しく掘り下げ、解決策を提供し、考えられるアプローチを検討します。
$ 変数の使用 (推奨)
テキスト/テンプレートのドキュメントによると、「$」最初は、Execute に提供されたデータ引数、つまり開始ドット値を参照します。したがって、@Sandy が提案しているように、$.Path を使用して外側のスコープにアクセスすることが可能です。
const page = `{{range .Files}}<script src="{{html $.Path}}/js/{{html .}}"></script>{{end}}`
カスタム変数アプローチ (従来の回答)
あるいは、以下に指定するように、変数を導入して範囲スコープに値を渡すことができます。
const page = `{{$p := .Path}}{{range .Files}}<script src="{{html $p}}/js/{{html .}}"></script>{{end}}`
このアプローチにより、次のことが可能になります。変数の命名とスコープ管理の柔軟性が向上します。ただし、そのシンプルさと優雅さの点で、「$」を使用することを強くお勧めします。
以上がGo テンプレートの範囲内の親/グローバル パイプラインにアクセスする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。