Wie können Sie in Go-Vorlagen Daten von einer übergeordneten Vorlage an eine untergeordnete Vorlage übergeben?

DDD
Freigeben: 2024-10-26 03:08:27
Original
189 Leute haben es durchsucht

How can you pass data from a parent template to a child template in Go templates?

Ü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(...)
Nach dem Login kopieren

In index.html:

{{ template "image_row" args . 5 }}
Nach dem Login kopieren

In image_row.html:

{{ define "image_row" }}
   Data: {{ index . 0 }} {{ index . 1 }}
{{ end }}
Nach dem Login kopieren

Dadurch können Sie mithilfe der Indexfunktion auf Ihre Argumente in der untergeordneten Vorlage zugreifen:

{{ index . 0 }} -> .
{{ index . 1 }} -> 5
Nach dem Login kopieren

Andere Ansätze

Alternativ: Sie könnten Folgendes in Betracht ziehen:

  • Verwenden einer benutzerdefinierten Vorlagenfunktion: Definieren Sie eine benutzerdefinierte Funktion innerhalb der übergeordneten Vorlage, die die erforderlichen Daten für das untergeordnete Element generiert.
  • Übergabe einer Struktur oder Karte: Erstellen Sie eine Struktur oder Karte, um die Daten zu aggregieren und an die untergeordnete Vorlage zu übergeben.

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage