在範本之間傳遞資料
您的查詢涉及將資料從一個範本傳遞到另一個範本。您有一個包含子模板 (image_row.html) 的父模板 (index.html),但希望將其他資料傳遞給子模板。
範本的預設行為僅允許父範本中定義的資料才能傳遞給孩子。但是,您可以透過採用一些技術來實現您的目標:
對多個參數使用函數
一種方法是定義一個函數,將您的參數聚合為一個函數切片值。然後,您可以註冊此函數並在模板中呼叫它。
例如:
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 }}
在image_row.html:
{{ index . 0 }} -> . {{ index . 1 }} -> 5
這允許您使用索引函數存取子範本中的參數:
其他方法
建構一個結構體或映射來聚合資料並將其傳遞給子模板。
以這種方式自訂資料傳遞機制可以讓您靈活地控制資料如何在範本之間共用。以上是在 Go 模板中,如何將資料從父模板傳遞到子模板?的詳細內容。更多資訊請關注PHP中文網其他相關文章!