Wie kann ich in verschachtelten „with'- oder „range'-Anweisungen in Go-Vorlagen auf Variablen aus dem äußeren Bereich zugreifen?

DDD
Freigeben: 2024-11-24 10:57:10
Original
786 Leute haben es durchsucht

How can I access variables from the outer scope in nested

Zugriff auf den äußeren Bereich in verschachtelten „with“- oder „range“-Bereichen in Go-Vorlagen

In Go-Vorlagen ist die Verwendung von „with“ oder „range“-Anweisungen erstellen einen neuen Bereich und ändern den Kontext des aktuellen Bereichs. Dies kann zu Situationen führen, in denen der Zugriff auf im äußeren Bereich definierte Variablen erforderlich wird.

Verwendung von $. OuterValue

Um den Zugriff auf den aufrufenden Bereich innerhalb eines verschachtelten „with“- oder „range“-Bereichs beizubehalten, wird eine speziell definierte Variable namens „$“ verwendet. Diese Variable wird von der Go-Vorlagen-Engine bereitgestellt und verweist auf den Datenwert, der an die Execute-Funktion übergeben wurde, der den anfänglichen Punktwert (.) darstellt.

Beispielverwendung

Betrachten Sie den folgenden Vorlagencode:

{{with .Inner}}
  Outer: {{$.OuterValue}}
  Inner: {{.InnerValue}}
{{end}}
Nach dem Login kopieren

In diesem Beispiel definiert die „with“-Anweisung einen neuen Bereich für „Innere“ Variable. Innerhalb dieses Bereichs kann der Zugriff auf den im äußeren Bereich definierten „OuterValue“ jedoch mithilfe von „$.OuterValue“ erreicht werden.

Dokumentation von $

Die Go-Vorlage In der Dokumentation wird die Rolle von „$“ explizit wie folgt beschrieben:

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

Diese Erklärung bestätigt, dass „$“ den Verweis auf die ursprünglichen Daten beibehält, die an die Vorlage übergeben wurden, und so den Zugriff auf die Variablen des ursprünglichen Bereichs ermöglicht.

Das obige ist der detaillierte Inhalt vonWie kann ich in verschachtelten „with'- oder „range'-Anweisungen in Go-Vorlagen auf Variablen aus dem äußeren Bereich zugreifen?. 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