Rumah > pembangunan bahagian belakang > Golang > Bolehkah Templat Go Diperbaharui Separa Secara Dinamik?

Bolehkah Templat Go Diperbaharui Separa Secara Dinamik?

Linda Hamilton
Lepaskan: 2024-12-28 21:55:13
asal
945 orang telah melayarinya

Can Go Templates Be Dynamically Partially Refreshed?

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

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!

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