템플릿 간 데이터 전달
Go의 템플릿 시스템에서는 특히 템플릿 내에 하나의 템플릿을 포함할 때 여러 템플릿 간에 데이터를 전달해야 할 수 있습니다. 또 다른. "데이터를 포함된 템플릿에 인수로 전달하고 해당 템플릿 내에서 액세스하려면 어떻게 해야 합니까?"라는 질문이 생깁니다.
이를 달성하려면 인수를 단일 슬라이스 값으로 병합하는 사용자 정의 함수를 활용할 수 있습니다. 이 함수를 등록하면 템플릿 호출 내에서 사용할 수 있습니다. 다음 코드는 이 작업이 수행되는 방법을 보여줍니다.
<code class="go">package main import ( "fmt" "html/template" ) func main() { t, err := template.New("t").Funcs(template.FuncMap{ "args": func(vs ...interface{}) []interface{} { return vs }, }).Parse("{{ template \"image_row\" args . 5 }}") if err != nil { fmt.Println(err) return } err = t.Execute(template.Must(template.ParseFiles("index.html", "image_row.html")), nil) if err != nil { fmt.Println(err) return } } // index.html {{ template "image_row" . | 5 }} // image_row.html {{ define "image_row" }} To stuff here {{index . 0}} {{index . 1}} {{ end }}</code>
image_row 템플릿 내에서 내장된 인덱스 함수를 사용하여 인수에 액세스할 수 있습니다. 예를 들어, {{index . 0}}는 index.html 템플릿에서 전달된 첫 번째 인수(색인 0)(이 경우 숫자 5)에 액세스합니다.
이 솔루션은 여러 템플릿 간에 데이터를 전달하고 액세스하는 다양한 방법을 제공하여 사용자 정의를 활성화합니다. 기능성과 효율적인 코드 재사용이 가능합니다.
위 내용은 Go의 템플릿 시스템에 포함된 템플릿에 데이터를 인수로 전달하려면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!