„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie übergebe ich Daten an enthaltene Vorlagen in Go?

Wie übergebe ich Daten an enthaltene Vorlagen in Go?

Veröffentlicht am 24.11.2024
Durchsuche:127

How to Pass Data to Included Templates in Go?

Übergabe von Daten an gerenderte Vorlagen in Go

In Go-Vorlagen ist das Einschließen einer anderen Vorlage ein unkomplizierter Prozess mit 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:

func args(vs ...interface{}) []interface{} { return vs }
t, err := template.New("t").Funcs(template.FuncMap{"args":args}).Parse...

Verwendung im Vorlagenaufruf

Innerhalb der Hauptvorlage können Sie die Argumente mit der args-Funktion übergeben:

{{ 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 }}

Dieser Ansatz ermöglicht Ihnen die Übergabe dynamischer Daten an gerenderte Vorlagen und ermöglicht so eine größere Flexibilität beim Vorlagendesign und der Datenverarbeitung.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3