Heim > Artikel > Backend-Entwicklung > Wie können Sie in Go-Vorlagen Daten von einer übergeordneten Vorlage an eine untergeordnete Vorlage übergeben?
Übergabe von Daten zwischen Vorlagen
Ihre Anfrage betrifft die Übergabe von Daten von einer Vorlage an eine andere. Sie haben eine übergeordnete Vorlage (index.html) einschließlich einer untergeordneten Vorlage (image_row.html), möchten aber zusätzliche Daten an das untergeordnete Element übergeben.
Das Standardverhalten von Vorlagen lässt nur die in der übergeordneten Vorlage definierten Daten zu an das Kind weitergegeben werden. Sie können Ihr Ziel jedoch erreichen, indem Sie einige Techniken anwenden:
Verwenden einer Funktion für mehrere Argumente
Ein Ansatz besteht darin, eine Funktion zu definieren, die Ihre Argumente zu einem einzigen zusammenfasst Slice-Wert. Anschließend können Sie diese Funktion registrieren und in der Vorlage aufrufen.
Zum Beispiel:
import "text/template" func args(vs ...interface{}) []interface{} { return vs } t, err := template.New("t").Funcs(template.FuncMap{"args": args}).Parse(...)
In index.html:
{{ template "image_row" args . 5 }}
In image_row.html:
{{ define "image_row" }} Data: {{ index . 0 }} {{ index . 1 }} {{ end }}
Dadurch können Sie mithilfe der Indexfunktion auf Ihre Argumente in der untergeordneten Vorlage zugreifen:
{{ index . 0 }} -> . {{ index . 1 }} -> 5
Andere Ansätze
Alternativ: Sie könnten Folgendes in Betracht ziehen:
Die Anpassung des Datenübergabemechanismus auf diese Weise gibt Ihnen Flexibilität und Kontrolle über wie Daten zwischen Vorlagen geteilt werden.
Das obige ist der detaillierte Inhalt vonWie können Sie in Go-Vorlagen Daten von einer übergeordneten Vorlage an eine untergeordnete Vorlage übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!