Go에서 동적 부분 템플릿 새로 고침
질문:
동적으로 새로 고침이 가능합니까? 변수가 있는 경우 Go 템플릿의 특정 부분만 업데이트?
답변:
Go의 기본 템플릿 엔진은 기본적으로 이 기능을 지원하지 않지만 사용자 정의 구현은 가능합니다. 단계별 가이드는 다음과 같습니다.
1. 템플릿 리팩토링:
{{define "name"}} 및 {{template "name"}} 작업을 사용하여 주소 배열을 고유한 템플릿으로 렌더링하는 템플릿을 분리합니다.
2. 핸들러 수정/생성:
독립형 주소 템플릿을 독점적으로 실행하고 해당 HTML을 응답에 직접 출력하는 핸들러를 만듭니다. 이 핸들러는 전체 페이지와 부분 템플릿을 모두 처리하거나 주소 템플릿에만 전념할 수 있습니다.
3. 클라이언트 측 수정:
주소 배열을 업데이트해야 하는 경우 주소 템플릿을 렌더링하는 핸들러에 대한 AJAX 호출을 트리거합니다. 응답을 받으면 Address 요소의 래퍼 태그 내의 콘텐츠를 응답 HTML로 바꿉니다.
다음은 AJAX 호출 및 DOM 조작을 위한 샘플 JavaScript 코드입니다.
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 }
추가 참고:
Gowut와 같은 타사 라이브러리는 부분 템플릿에 대해 유사한 기능을 제공합니다. 새로 고치다. 자세한 내용은 Gowut 소스 코드, 특히 js.go 파일 내의 rerenderComp() JavaScript 함수를 참조하세요.
위 내용은 Go 템플릿을 동적으로 부분적으로 새로 고칠 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!