テンプレート間でのデータの受け渡し
クエリは、あるテンプレートから別のテンプレートへのデータの受け渡しに関するものです。子テンプレート (image_row.html) を含む親テンプレート (index.html) がありますが、追加のデータを子に渡したいと考えています。
テンプレートのデフォルトの動作では、親テンプレート内で定義されたデータのみが許可されます。子供に引き継がれること。ただし、いくつかのテクニックを使用することで目的を達成できます。
複数の引数に関数を使用する
1 つのアプローチは、引数を 1 つに集約する関数を定義することです。スライス値。次に、この関数を登録し、テンプレートで呼び出すことができます。
例:
import "text/template" func args(vs ...interface{}) []interface{} { return vs } t, err := template.New("t").Funcs(template.FuncMap{"args": args}).Parse(...)
index.html 内:
{{ template "image_row" args . 5 }}
image_row.html 内:
{{ define "image_row" }} Data: {{ index . 0 }} {{ index . 1 }} {{ end }}
これにより、インデックス関数を使用して子テンプレートの引数にアクセスできるようになります。
{{ index . 0 }} -> . {{ index . 1 }} -> 5
その他のアプローチ
または、次のことを検討してください:
この方法でデータ受け渡しメカニズムをカスタマイズすると、柔軟性と制御が可能になります。テンプレート間でデータがどのように共有されるか。
以上がGo テンプレートで親テンプレートから子テンプレートにデータを渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。