在 Go 中,沒有原生支援在變數更新時選擇性刷新範本的部分內容。要實現此功能,需要自訂方法。
1.重構範本:
透過使用{{define "name"}} 作業建立部分範本來分離呈現「位址」部分的模板。將此部分模板放在單獨的文件中或使用 {{template "name"}} 將其嵌入本地。
2.建立或修改處理程序:
定義專門執行和呈現「地址」部分範本的處理程序。該處理程序應將其輸出直接傳送到 HTTP 回應。您可以建立單獨的處理程序或修改現有處理程序以處理完整範本和部分「地址」渲染。
3.客戶端修改:
當您希望動態更新「地址」部分時,請向負責僅渲染該部分的處理程序發起 AJAX 請求。將「地址」部分的包裝元素的 HTML 內容替換為 AJAX 呼叫的回應文字。
此動態更新的客戶端程式碼可能類似:
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,Go 的單頁Web應用程式框架,為部分模板更新提供類似的功能。開發者可以參考Gowut的js.go檔案來了解實作細節。
以上是如何透過變數更新動態刷新 Go 中的模板部分?的詳細內容。更多資訊請關注PHP中文網其他相關文章!