> 백엔드 개발 > Golang > 변수 업데이트 시 Go 템플릿의 일부를 동적으로 새로 고치려면 어떻게 해야 합니까?

변수 업데이트 시 Go 템플릿의 일부를 동적으로 새로 고치려면 어떻게 해야 합니까?

Linda Hamilton
풀어 주다: 2024-12-25 08:16:30
원래의
752명이 탐색했습니다.

How Can I Dynamically Refresh Parts of a Go Template on Variable Updates?

Golang의 변수 업데이트에 대한 동적 템플릿 새로 고침: 단계별 가이드

Angular.js에서 가능한 것과 유사한 특정 변수가 업데이트될 때의 템플릿입니다. 제공된 시나리오에서는 우편번호를 기반으로 주소를 검색하기 위한 AJAX 요청이 이루어지며 결과가 템플릿 섹션에 표시됩니다. 목표는 전체 페이지를 다시 로드하지 않고 배열인 Addresses 값만 업데이트하는 것입니다.

해결책:

템플릿 엔진이 이 기능을 지원하지 않기 때문입니다. 이를 달성하기 위한 단계별 가이드는 다음과 같습니다.

1. 리팩터링 템플릿:

  • {{define "name"}} 작업 또는 {{block "name"} T1 {을 사용하여 주소를 고유한 블록으로 렌더링하는 템플릿을 분리합니다. {end}} 액션(Go 1.6 이상)

2. 핸들러 수정:

  • 전체 페이지 템플릿 또는 주소 템플릿만 실행하는 핸들러를 생성하거나 수정합니다.
  • 주소 템플릿의 출력을 HTTP로 직접 보냅니다. 응답작가

3. 클라이언트 측 수정:

  • 주소를 새로 고쳐야 하는 경우 주소 템플릿만 렌더링하는 핸들러에 AJAX 요청을 보냅니다.
  • AJAX 요청의 응답 텍스트로 래퍼 요소를 처리합니다.

다음은 샘플 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
}
로그인 후 복사

이러한 단계를 따르면 Golang에서 동적 템플릿 새로 고침을 구현하여 관련 변수가 변경될 때 템플릿의 특정 부분이 업데이트되도록 할 수 있습니다.

위 내용은 변수 업데이트 시 Go 템플릿의 일부를 동적으로 새로 고치려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿