템플릿 작업의 범위 내에서 상위 파이프라인에 액세스
Go 템플릿에서는 범위 파이프라인을 사용하여 슬라이스나 맵을 반복하는 것이 일반적입니다. 그러나 파이프라인의 직접적인 범위 외부에 있는 데이터에 액세스하려고 하면 자주 문제가 발생합니다. 이 문서에서는 이를 달성하는 방법을 살펴봅니다.
$ 변수 사용(권장)
텍스트/템플릿 문서에서는 실행이 시작될 때 $ 변수가 데이터를 참조한다고 지정합니다. 인수가 Execute에 전달되었습니다. 이는 $.variable을 사용하여 외부 범위 데이터에 액세스할 수 있음을 의미합니다.
예를 들어 다음 템플릿을 고려해보세요.
const page = `{{range .Files}}<script src="{{html $.Path}}/js/{{html .}}"></script>{{end}}`
여기서 .Files는 파일 조각을 참조하지만 포함하는 scriptFiles 구조체의 경로에 액세스하고 싶습니다. $.Path를 사용하면 그렇게 할 수 있습니다.
사용자 정의 변수 사용(레거시 방법)
대체 방법은 범위 범위에 전달할 사용자 정의 변수를 만드는 것입니다. , 이 템플릿에 설명된 대로:
const page = `{{$p := .Path}}{{range .Files}}<script src="{{html $p}}/js/{{html .}}"></script>{{end}}`
range 파이프라인 앞에 $p를 .Path로 설정하면 파이프라인 내의 경로에 액세스할 수 있습니다.
참고: $ 변수 방법은 현재 Go 버전에서 더 간결하고 관용적인 접근 방식이므로 권장됩니다.
위 내용은 Go 템플릿의 범위 내에서 상위 파이프라인 데이터에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!