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

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

DDD
DDDOriginal
2024-10-26 03:08:27123Durchsuche

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(...)

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:

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

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