Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah anda boleh menghantar data daripada templat induk kepada templat anak dalam templat Go?
Melalui Data Antara Templat
Pertanyaan anda melibatkan pemindahan data dari satu templat ke templat yang lain. Anda mempunyai templat induk (index.html) termasuk templat anak (image_row.html) tetapi ingin menghantar data tambahan kepada anak.
Tingkah laku lalai templat membenarkan hanya data yang ditakrifkan dalam templat induk untuk disampaikan kepada anak. Walau bagaimanapun, anda boleh mencapai matlamat anda dengan menggunakan beberapa teknik:
Menggunakan Fungsi untuk Berbilang Argumen
Satu pendekatan ialah mentakrifkan fungsi yang mengagregatkan hujah anda menjadi satu nilai hirisan. Anda kemudiannya boleh mendaftarkan fungsi ini dan menggunakannya dalam templat.
Sebagai contoh:
import "text/template" func args(vs ...interface{}) []interface{} { return vs } t, err := template.New("t").Funcs(template.FuncMap{"args": args}).Parse(...)
Dalam index.html:
{{ template "image_row" args . 5 }}
Dalam image_row.html:
{{ define "image_row" }} Data: {{ index . 0 }} {{ index . 1 }} {{ end }}
Ini membolehkan anda mengakses hujah anda dalam templat anak menggunakan fungsi indeks:
{{ index . 0 }} -> . {{ index . 1 }} -> 5
Pendekatan Lain
Sebagai alternatif, anda boleh pertimbangkan:
Memperibadikan mekanisme penghantaran data dengan cara ini memberikan anda kefleksibelan dan kawalan ke atas cara data dikongsi antara templat.
Atas ialah kandungan terperinci Bagaimanakah anda boleh menghantar data daripada templat induk kepada templat anak dalam templat Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!