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