Heim  >  Artikel  >  Backend-Entwicklung  >  Wie übergebe ich Daten an enthaltene Vorlagen in Go?

Wie übergebe ich Daten an enthaltene Vorlagen in Go?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-26 13:27:03206Durchsuche

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 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn