テンプレートのレンダリングにおける一般的な要件は、テンプレート間でデータを受け渡す機能です。 Go のテキスト/テンプレート パッケージでは、これは関数とテンプレート呼び出し手法の組み合わせを使用して実現できます。
ネストされたテンプレートに追加の引数として単純な数値を渡すには、その引数をマージする関数を定義できます。単一のスライス値に変換します。その後、この関数を登録し、テンプレート呼び出しで使用できます。
次に例を示します:
<code class="go">func args(vs ...interface{}) []interface{} { return vs }</code>
<code class="go">t, err := template.New("t").Funcs(template.FuncMap{"args": args}).Parse(...)</code>
index.html テンプレートで、args 関数を使用して現在の追加の引数を持つデータ:
<code class="html">{{ template "image_row" args . 5 }}</code>
image_row.html テンプレート内で、index 組み込み関数を使用して引数にアクセスします:
<code class="html">{{ define "image_row" }} To stuff here {{ index . 0 }} {{ index . 1 }} {{ end }}</code>
このアプローチにより、任意のデータを渡すことができますテンプレート間で相互に連携し、より複雑で再利用可能なテンプレート コンポーネントを構築します。
以上がGo の text/template パッケージ内のテンプレート間でデータを渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。