Go テンプレート間でのデータの受け渡し
Go のテキスト/テンプレート パッケージでは、テンプレートをネストして共通の HTML 要素を再利用できます。ただし、追加のデータを嵌套に渡す必要がある場合は、ネストされたテンプレートでは、デフォルトのテンプレート メカニズムはこれを直接サポートしていません。
これを実現するには、引数をスライスに結合してそれを返すカスタム関数を作成できます。この関数をテンプレートに登録し、それを使用して引数を渡します。
例は次のとおりです:
package main import ( "text/template" ) func main() { // Define the custom function to combine arguments func args(vs ...interface{}) []interface{} { return vs } // Parse the template with the custom function registered t, err := template.New("t").Funcs(template.FuncMap{"args": args}).Parse(...) if err != nil { // Handle error } // Render the template with the custom function t.ExecuteTemplate(..., template.Args(..., 5)) // Access the arguments in the nested template {{ define "image_row" }} To stuff here {{index . 0}} {{index . 1}} {{ end }} }
このアプローチを使用すると、追加のデータをネストされたテンプレートに動的に渡すことができ、より柔軟で再利用可能な HTML コード。
以上がGo の `text/template` パッケージ内のネストされたテンプレートにデータを渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。