Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Muat Semula Bahagian Templat secara Dinamik dalam Go dengan Kemas Kini Pembolehubah?
Dalam Go, tidak ada sokongan asli untuk menyegarkan bahagian templat secara terpilih apabila pembolehubah dikemas kini. Untuk mencapai kefungsian ini, pendekatan tersuai diperlukan.
1. Templat Refactor:
Asingkan templat yang memaparkan bahagian "Alamat" dengan mencipta templat separa menggunakan tindakan {{define "name"}}. Letakkan templat separa ini dalam fail yang berasingan atau benamkannya secara setempat menggunakan {{template "name"}}.
2. Buat atau Ubah Suai Pengendali:
Tentukan pengendali yang melaksanakan dan menjadikan templat separa "Alamat" secara eksklusif. Pengendali ini harus menghantar outputnya terus ke respons HTTP. Anda boleh membuat pengendali berasingan atau mengubah suai pengendali sedia ada anda untuk mengendalikan kedua-dua templat penuh dan pemaparan separa "Alamat".
3. Pengubahsuaian Sebelah Pelanggan:
Apabila anda ingin mengemas kini bahagian "Alamat" secara dinamik, mulakan permintaan AJAX kepada pengendali yang bertanggungjawab untuk memberikan bahagian itu sahaja. Gantikan kandungan HTML elemen pembungkus untuk bahagian "Alamat" dengan teks respons daripada panggilan AJAX.
Kod sisi klien untuk kemas kini dinamik ini mungkin menyerupai:
var addresseesElement = document.getElementById("addressees"); var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { addresseesElement.outerHTML = xhr.responseText; } } xhr.open("GET", "path-to-addresses-render", true); xhr.send();
Gowut, aplikasi web satu halaman rangka kerja untuk Go, menyediakan fungsi yang serupa untuk kemas kini templat separa. Pembangun boleh merujuk fail js.go Gowut untuk mendapatkan butiran pelaksanaan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Muat Semula Bahagian Templat secara Dinamik dalam Go dengan Kemas Kini Pembolehubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!