Kemas Kini Separa Templat Secara Dinamik dalam Go
Dalam Go, keupayaan untuk menyegarkan sebahagian daripada templat apabila pembolehubah diubah suai tidak semestinya disokong. Untuk mencapai fungsi ini, penyelesaian tersuai mesti dilaksanakan.
Langkah Pelaksanaan:
Langkah Secara Terperinci:
templat Pemfaktoran semula:
{{define "Addresses"}} <ul> {{range $key, $value := .Addresses}} <li>{{ $key }}: {{ $value }}</li> {{end}} </ul> {{end}}
Pengubahsuaian Pengendali:
import "net/http" func AddressesHandler(w http.ResponseWriter, r *http.Request) { data := map[string]string{"Addresses": []string{"Address1", "Address2"}} t, err := template.New("AddressesTemplate").Parse("{{define "Addresses"}}{{.Addresses}}{{end}}") if err != nil { http.Error(w, http.StatusInternalServerError.String(), http.StatusInternalServerError) return } err = t.ExecuteTemplate(w, "Addresses", data) if err != nil { http.Error(w, http.StatusInternalServerError.String(), http.StatusInternalServerError) return } }
Pihak Pelanggan Pelaksanaan:
var addressesElement = document.getElementById("addresses"); function refreshAddresses() { var xhr = new XMLHttpRequest(); xhr.open("GET", "/addresses", true); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { addressesElement.outerHTML = xhr.responseText; } }; xhr.send(); }
Rangka Kerja Alternatif:
Gowut ialah rangka kerja web Go yang menyediakan kefungsian serupa untuk kemas kini separa dinamik dalam halaman web.
Atas ialah kandungan terperinci Bagaimana Mengemas kini Separa Templat Secara Dinamik dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!