Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Mengakses Parameter Luaran dalam Gelung Julat Templat Go?

Bagaimana untuk Mengakses Parameter Luaran dalam Gelung Julat Templat Go?

Linda Hamilton
Lepaskan: 2024-11-09 15:42:02
asal
361 orang telah melayarinya

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

Go Template Mengakses Parameter Luaran dalam Gelung Julat

Pertimbangkan situasi di mana anda mempunyai struct Pengguna dengan medan seperti Nama Pengguna, Kata Laluan dan E-mel. Dalam aplikasi web, struktur URL mungkin termasuk parameter bahasa (en) yang perlu diakses dalam templat yang berulang ke atas pengguna.

Dalam templat yang disediakan:

{{ range .users }}
  <form action="/{{ .lang }}/users" method="POST">
    <input type="text" name="Username" value="{{ .Username }}">
    <input type="text" name="Email" value="{{ .Email }}">
  </form>
{{ end }}
Salin selepas log masuk

Mengakses .lang dalam gelung julat menghasilkan ralat berikut:

"tidak dapat menilai medan X dalam jenis Y (X bukan sebahagian daripada Y tetapi tersekat dalam {{range}} gelung)"

Untuk menyelesaikan isu ini, anda perlu mengakses parameter .lang dari luar gelung. Ini boleh dicapai dengan menggunakan pembolehubah $. Selepas seruan julat, kandungan pembolehubah julat (. dalam kes ini) diberikan kepada $. Oleh itu, templat boleh diubah suai seperti berikut:

{{ range .users }}
  <form action="/{{ $.lang }}/users" method="POST">
    <input type="text" name="Username" value="{{ .Username }}">
    <input type="text" name="Email" value="{{ .Email }}">
  </form>
{{ end }}
Salin selepas log masuk

Dengan menggunakan $, templat boleh berjaya mengakses parameter .lang walaupun ia bukan medan dalam struct Pengguna.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Parameter Luaran dalam Gelung Julat Templat Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan