Mengirimkan Data ke Templat Render dalam Go
Templat In Go, termasuk templat lain ialah proses yang mudah menggunakan {{ template "include- templat-nama" }} sintaks. Walau bagaimanapun, kadangkala ia menjadi perlu untuk menghantar data tambahan kepada templat yang disertakan.
Memperkenalkan Hantaran Parameter Dinamik
Pertimbangkan senario di mana anda ingin menghantar nombor kepada templat , "image_row.html", yang menggunakan nombor ini untuk membina baris secara dinamik. Ini memerlukan menghantar nombor sebagai hujah tambahan kepada seruan templat.
Fungsi Tersuai untuk Menghantar Berbilang Argumen
Memandangkan tiada sokongan terbina dalam untuk menghantar berbilang argumen kepada templat, anda boleh mencipta fungsi tersuai untuk menggabungkan hujah ke dalam satu kepingan. Daftarkan fungsi ini dengan Funcs dan gunakannya dalam permohonan templat:
<code class="go">func args(vs ...interface{}) []interface{} { return vs } t, err := template.New("t").Funcs(template.FuncMap{"args":args}).Parse...</code>
Penggunaan dalam Seruan Templat
Di dalam templat utama, anda boleh menghantar hujah menggunakan fungsi args:
{{ template "image_row" args . 5 }}
Mengakses Argumen dalam Templat Termasuk
Dalam "image_row.html", anda boleh mengakses argumen menggunakan fungsi indeks terbina dalam:
{{ define "image_row" }} To stuff here {{index . 0}} {{index . 1}} {{ end }}
Pendekatan ini membolehkan anda menghantar data dinamik kepada templat yang diberikan, membolehkan lebih fleksibiliti dalam reka bentuk templat dan pengendalian data.
Atas ialah kandungan terperinci Bagaimana untuk Menghantar Data kepada Templat yang Disertakan dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!