„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich Daten als Argumente an eine inklusive Vorlage in GO 's Templating -System übergeben?

Wie kann ich Daten als Argumente an eine inklusive Vorlage in GO 's Templating -System übergeben?

Gepostet am 2025-03-24
Durchsuche:513

How can I pass data as arguments to an included template in Go\'s templating system?

Daten zwischen den Vorlagen

In Go's Templating System können Daten zwischen mehreren Vorlagen übergeben werden, insbesondere wenn ein Vorlagen in ein anderes Einbeziehen. Es stellt sich die Frage: "Wie kann ich Daten als Argumente an eine enthaltene Vorlage übergeben und in dieser Vorlage darauf zugreifen?"

Um dies zu erreichen, können Sie eine benutzerdefinierte Funktion verwenden, die die Argumente in einen einzelnen Slice -Wert verschmiert. Durch die Registrierung dieser Funktion kann sie innerhalb des Vorlagenaufrufs verwendet werden. Der folgende Code zeigt, wie dies erledigt ist:

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 }}

In der Vorlage image_row können auf die Argumente mit der integrierten Indexfunktion zugegriffen werden. Zum Beispiel {{Index. 0}} würde auf das erste Argument (Index 0) zugreifen, das aus der Index.html -Vorlage übergeben wurde, in diesem Fall die Nummer 5.

Diese Lösung bietet eine vielseitige Möglichkeit zum Übergeben und Zugriff auf Daten zwischen mehreren Vorlagen, wodurch benutzerdefinierte Funktionen und effiziente Code -Wiederverwendung aktiviert werden können.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3