Übergabe von Daten an gerenderte Vorlagen in Go
In Go-Vorlagen ist das Einschließen einer weiteren Vorlage ein unkomplizierter Prozess mithilfe der {{ Vorlage „include-“ „Vorlagenname“ }} Syntax. Manchmal ist es jedoch erforderlich, zusätzliche Daten an die enthaltene Vorlage zu übergeben.
Einführung in die dynamische Parameterübergabe
Stellen Sie sich ein Szenario vor, in dem Sie eine Zahl an eine Vorlage übergeben möchten , „image_row.html“, das diese Nummer verwendet, um Zeilen dynamisch zu erstellen. Dies erfordert die Übergabe der Zahl als zusätzliches Argument an den Vorlagenaufruf.
Benutzerdefinierte Funktion zur Übergabe mehrerer Argumente
Da es keine integrierte Unterstützung für die Übergabe mehrerer Argumente gibt Wenn Sie eine Vorlage verwenden, können Sie eine benutzerdefinierte Funktion erstellen, um die Argumente in einem einzigen Segment zusammenzuführen. Registrieren Sie diese Funktion bei Funcs und verwenden Sie sie im Vorlagenaufruf:
<code class="go">func args(vs ...interface{}) []interface{} { return vs } t, err := template.New("t").Funcs(template.FuncMap{"args":args}).Parse...</code>
Verwendung im Vorlagenaufruf
Innerhalb der Hauptvorlage können Sie die Argumente mithilfe von übergeben args-Funktion:
{{ template "image_row" args . 5 }}
Zugriff auf Argumente in der enthaltenen Vorlage
Innerhalb von „image_row.html“ können Sie mit der integrierten Indexfunktion auf die Argumente zugreifen:
{{ define "image_row" }} To stuff here {{index . 0}} {{index . 1}} {{ end }}
Mit diesem Ansatz können Sie dynamische Daten an gerenderte Vorlagen übergeben, was eine größere Flexibilität beim Vorlagendesign und der Datenverarbeitung ermöglicht.
Das obige ist der detaillierte Inhalt vonWie übergebe ich Daten an enthaltene Vorlagen in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!