Heim > Backend-Entwicklung > Golang > Wie greife ich auf externe Parameter in einer Go-Vorlagenbereichsschleife zu?

Wie greife ich auf externe Parameter in einer Go-Vorlagenbereichsschleife zu?

Linda Hamilton
Freigeben: 2024-11-09 15:42:02
Original
362 Leute haben es durchsucht

How to Access External Parameters in a Go Template Range Loop?

Go-Vorlage für den Zugriff auf externe Parameter in einer Bereichsschleife

Stellen Sie sich eine Situation vor, in der Sie eine Benutzerstruktur mit Feldern wie Benutzername, Passwort und haben E-Mail. In einer Webanwendung kann die URL-Struktur einen Sprachparameter (en) enthalten, auf den innerhalb einer Vorlage zugegriffen werden muss, die über Benutzer iteriert.

In der bereitgestellten Vorlage:

{{ range .users }}
  <form action="/{{ .lang }}/users" method="POST">
    <input type="text" name="Username" value="{{ .Username }}">
    <input type="text" name="Email" value="{{ .Email }}">
  </form>
{{ end }}
Nach dem Login kopieren

Zugriff .lang innerhalb der Range-Schleife führt zu folgendem Fehler:

"Feld X im Typ Y kann nicht ausgewertet werden (X ist nicht Teil von Y, sondern steckt in einer {{range}}-Schleife fest)"

Um dieses Problem zu lösen, ist es notwendig, von außerhalb der Schleife auf den .lang-Parameter zuzugreifen. Dies kann durch die Verwendung der $-Variablen erreicht werden. Nach dem Bereichsaufruf wird der Inhalt der Bereichsvariablen (in diesem Fall .) $ zugewiesen. Daher kann die Vorlage wie folgt geändert werden:

{{ range .users }}
  <form action="/{{ $.lang }}/users" method="POST">
    <input type="text" name="Username" value="{{ .Username }}">
    <input type="text" name="Email" value="{{ .Email }}">
  </form>
{{ end }}
Nach dem Login kopieren

Durch die Verwendung von $ kann die Vorlage erfolgreich auf den .lang-Parameter zugreifen, obwohl es sich nicht um ein Feld in der Benutzerstruktur handelt.

Das obige ist der detaillierte Inhalt vonWie greife ich auf externe Parameter in einer Go-Vorlagenbereichsschleife 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