Heim  >  Artikel  >  Backend-Entwicklung  >  Wie greife ich auf äußere Bereichsvariablen in Go-Vorlagen innerhalb von „with'- oder „range'-Bereichen zu?

Wie greife ich auf äußere Bereichsvariablen in Go-Vorlagen innerhalb von „with'- oder „range'-Bereichen zu?

DDD
DDDOriginal
2024-11-13 15:52:03683Durchsuche

How to Access Outer Scope Variables in Go Templates Within

Zugriff auf den äußeren Bereich in einer Vorlage innerhalb von „with“- oder „range“-Bereichen

Bei Verwendung der „with“- oder „range“-Bereiche Innerhalb einer Go-Vorlage ändert sich der Geltungsbereich des Punktoperators (.) auf die aktuelle Schleifenvariable oder das aktuelle Strukturmitglied. Dies kann den Zugriff auf Variablen oder Funktionen, die im äußeren Bereich definiert sind, erschweren.

Um dieses Problem zu beheben, stellen Go-Vorlagen eine spezielle Variable namens „$“ bereit, die Zugriff auf den äußeren Bereich ermöglicht. So verwenden Sie es:

{{with .Inner}}
  Outer: {{$.OuterValue}}  # Accesses the OuterValue variable from the outer scope
  Inner: {{.InnerValue}}  # Accesses the InnerValue variable from the inner scope
{{end}}

Die Variable „$“ ist in der Text-/Vorlagendokumentation dokumentiert:

„Wenn die Ausführung beginnt, wird $ auf das an Execute übergebene Datenargument gesetzt , also auf den Startwert von dot.“

Das bedeutet, dass „$“ immer auf das ursprüngliche Datenobjekt verweist, das an die Vorlage übergeben wurde, sodass Sie auf die in definierten Variablen und Funktionen zugreifen können der äußere Bereich.

Das obige ist der detaillierte Inhalt vonWie greife ich auf äußere Bereichsvariablen in Go-Vorlagen innerhalb von „with'- oder „range'-Bereichen zu?. 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