Bagaimana untuk Menghantar Data kepada Templat yang Disertakan dalam Go?

Mary-Kate Olsen
Lepaskan: 2024-10-26 13:27:03
asal
215 orang telah melayarinya

How to Pass Data to Included Templates in Go?

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>
Salin selepas log masuk

Penggunaan dalam Seruan Templat

Di dalam templat utama, anda boleh menghantar hujah menggunakan fungsi args:

{{ template "image_row" args . 5 }}
Salin selepas log masuk

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 }}
Salin selepas log masuk

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!