Rumah >pembangunan bahagian belakang >Golang >Bolehkah Templat Go Diperbaharui Separa Secara Dinamik?
Muat Semula Templat Separa Dinamik dalam Go
Soalan:
Adakah ia boleh dilaksanakan secara dinamik hanya bahagian tertentu templat Go apabila pembolehubah kemas kini?
Jawapan:
Walaupun enjin templat lalai dalam Go tidak menyokong ciri ini secara asli, pelaksanaan tersuai boleh dilakukan. Berikut ialah panduan langkah demi langkah:
1. Pemfaktoran Semula Templat:
Asingkan templat yang menjadikan tatasusunan Alamat menjadi templat yang berbeza menggunakan tindakan {{define "name"}} dan {{template "name"}}.
2. Pengubahsuaian/Penciptaan Pengendali:
Buat pengendali yang melaksanakan secara eksklusif templat Alamat kendiri dan mengeluarkan HTMLnya terus kepada respons. Pengendali ini sama ada boleh mengendalikan kedua-dua halaman penuh dan templat separa, atau ia boleh didedikasikan semata-mata untuk templat Alamat.
3. Pengubahsuaian Sebelah Pelanggan:
Apabila tatasusunan Alamat perlu dikemas kini, cetuskan panggilan AJAX kepada pengendali yang memaparkan templat Alamat. Setelah menerima respons, gantikan kandungan dalam teg pembalut elemen Alamat dengan HTML respons.
Berikut ialah contoh kod JavaScript untuk panggilan AJAX dan manipulasi DOM:
var e = document.getElementById("addressees"); var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { e.outerHTML = xhr.responseText; } } xhr.open("GET", "path-to-addresses-render", true); try { xhr.send(); } catch (err) { // Handle error }
Nota Tambahan:
Perpustakaan pihak ketiga seperti Gowut menyediakan yang serupa fungsi untuk muat semula templat separa. Untuk rujukan lanjut, rujuk kod sumber Gowut, khususnya fungsi JavaScript rerenderComp() dalam fail js.go.
Atas ialah kandungan terperinci Bolehkah Templat Go Diperbaharui Separa Secara Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!