Wie greife ich in Go-Vorlagen auf Daten der übergeordneten Pipeline innerhalb des Bereichs zu?

Susan Sarandon
Freigeben: 2024-11-11 15:10:03
Original
662 Leute haben es durchsucht

How to Access Parent Pipeline Data within Range in Go Templates?

Zugriff auf die übergeordnete Pipeline innerhalb des Bereichs in Vorlagenaktionen

In Go-Vorlagen ist es üblich, Bereichspipelines zum Durchlaufen von Slices oder Karten zu verwenden. Allerdings tritt häufig ein Problem auf, wenn versucht wird, auf Daten außerhalb des unmittelbaren Bereichs der Pipeline zuzugreifen. In diesem Artikel wird erläutert, wie dies erreicht werden kann.

Verwendung der $-Variablen (empfohlen)

Die Text-/Vorlagendokumentation gibt an, dass die $-Variable bei Beginn der Ausführung auf die Daten verweist Argument, das an Execute übergeben wird. Dies bedeutet, dass wir mithilfe von $.variable auf die Daten des äußeren Bereichs zugreifen können.

Betrachten Sie beispielsweise diese Vorlage:

const page = `{{range .Files}}<script src="{{html $.Path}}/js/{{html .}}"></script>{{end}}`
Nach dem Login kopieren

Hier bezieht sich .Files auf einen Teil der Dateien, aber wir Sie möchten auf den Pfad der umschließenden scriptFiles-Struktur zugreifen. Die Verwendung von $.Path ermöglicht uns dies.

Verwendung einer benutzerdefinierten Variablen (Legacy-Methode)

Eine alternative Methode besteht darin, eine benutzerdefinierte Variable zu erstellen, die an den Bereichsbereich übergeben wird , wie in dieser Vorlage gezeigt:

const page = `{{$p := .Path}}{{range .Files}}<script src="{{html $p}}/js/{{html .}}"></script>{{end}}`
Nach dem Login kopieren

Indem wir $p vor der Range-Pipeline auf .Path setzen, können wir auf den Pfad innerhalb der zugreifen Pipeline.

Hinweis: Die $-Variablenmethode wird empfohlen, da sie in aktuellen Go-Versionen der prägnantere und idiomatischere Ansatz ist.

Das obige ist der detaillierte Inhalt vonWie greife ich in Go-Vorlagen auf Daten der übergeordneten Pipeline innerhalb des Bereichs zu?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage