Zugriff auf den äußeren Bereich innerhalb verschachtelter Vorlagen
Wenn Sie mit verschachtelten Vorlagen in Go arbeiten, können Sie innerhalb eines „mit“ oder „auf den äußeren Bereich zugreifen“ Bereich“ kann aufgrund des geänderten Gültigkeitsbereichs der Punktvariable (.) eine Herausforderung darstellen. Um dies zu beheben, kann die spezielle Variable $ verwendet werden, um auf den aufrufenden Bereich zuzugreifen.
Betrachten Sie das folgende Beispiel:
type MyData struct { OuterValue string InnerValue string } func main() { data := MyData{OuterValue: "Outer Value", InnerValue: "Inner Value"} template.Must(template.New("example").Parse("{{with .Inner}} Outer: {{$.OuterValue}}, Inner: {{.InnerValue}} {{end}}")).Execute(writer, data) }
In diesem Beispiel ändert der „with“-Bereich den Bereich von die Punktvariable (.), um auf den „Inner“-Wert der MyData-Struktur zu verweisen. Wir müssen jedoch immer noch aus dem „with“-Bereich auf den „OuterValue“ zugreifen.
Um dies zu erreichen, verwenden wir die Variable $. $ stellt das Datenargument dar, das während der Ausführung an die Vorlage übergeben wird und mit dem Startwert der Punktvariable (.) identisch ist. Durch die Verwendung von $ können wir innerhalb des verschachtelten „with“- oder „range“-Bereichs auf den aufrufenden Bereich zugreifen.
Der folgende Code demonstriert die Verwendung von $:
$ is documented in the text/template docs: > When execution begins, $ is set to the data argument passed to Execute, that is, to the starting value of dot.
Das obige ist der detaillierte Inhalt vonWie kann ich in Go auf den äußeren Bereich innerhalb verschachtelter Vorlagen zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!