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