Heim >Backend-Entwicklung >Golang >Können Go-Vorlagen dynamisch teilweise aktualisiert werden?

Können Go-Vorlagen dynamisch teilweise aktualisiert werden?

Linda Hamilton
Linda HamiltonOriginal
2024-12-28 21:55:13940Durchsuche

Can Go Templates Be Dynamically Partially Refreshed?

Dynamische Teilaktualisierung der Vorlage in Go

Frage:

Ist eine dynamische Aktualisierung möglich? nur ein bestimmter Teil einer Go-Vorlage, wenn eine Variable Updates?

Antwort:

Obwohl die Standard-Template-Engine in Go diese Funktion nicht nativ unterstützt, ist eine benutzerdefinierte Implementierung möglich. Hier ist eine Schritt-für-Schritt-Anleitung:

1. Vorlagen-Refactoring:

Trennen Sie die Vorlage, die das Adressarray rendert, mithilfe der Aktionen {{define "name"}} und {{template "name"}} in eine eindeutige Vorlage.

2. Handler-Änderung/Erstellung:

Erstellen Sie einen Handler, der ausschließlich die eigenständige Adressvorlage ausführt und seinen HTML-Code direkt an die Antwort ausgibt. Dieser Handler kann entweder sowohl die gesamte Seiten- als auch die Teilvorlage verarbeiten oder er kann ausschließlich der Adressvorlage gewidmet sein.

3. Clientseitige Änderung:

Wenn das Adressarray aktualisiert werden muss, lösen Sie einen AJAX-Aufruf an den Handler aus, der die Adressvorlage rendert. Ersetzen Sie nach Erhalt der Antwort den Inhalt im Wrapper-Tag des Adresselements durch den Antwort-HTML.

Hier ist ein Beispiel-JavaScript-Code für den AJAX-Aufruf und die DOM-Manipulation:

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
}

Zusätzlicher Hinweis:

Bibliotheken von Drittanbietern wie Gowut bieten ähnliche Funktionen für die teilweise Aktualisierung von Vorlagen. Weitere Informationen finden Sie im Gowut-Quellcode, insbesondere in der JavaScript-Funktion rerenderComp() in der Datei js.go.

Das obige ist der detaillierte Inhalt vonKönnen Go-Vorlagen dynamisch teilweise aktualisiert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn