Wie übergebe ich Daten zwischen Vorlagen im Text/Template-Paket von Go?

DDD
Freigeben: 2024-10-27 02:59:03
Original
627 Leute haben es durchsucht

How to Pass Data Between Templates in Go's text/template Package?

Übergabe von Daten zwischen Vorlagen

Eine häufige Anforderung beim Rendern von Vorlagen ist die Möglichkeit, Daten zwischen Vorlagen weiterzugeben. Im Text-/Vorlagenpaket von Go kann dies durch eine Kombination aus Funktionen und Vorlagenaufruftechniken erreicht werden.

Um eine einfache Zahl als zusätzliches Argument an eine verschachtelte Vorlage zu übergeben, können Sie eine Funktion definieren, die ihre Argumente zusammenführt in einen einzelnen Slice-Wert umgewandelt. Diese Funktion kann dann registriert und im Vorlagenaufruf verwendet werden.

Hier ist ein Beispiel:

<code class="go">func args(vs ...interface{}) []interface{} {
    return vs
}</code>
Nach dem Login kopieren
<code class="go">t, err := template.New("t").Funcs(template.FuncMap{"args": args}).Parse(...)</code>
Nach dem Login kopieren

Verwenden Sie in der Vorlage index.html die args-Funktion, um die aktuellen zusammenzuführen Daten mit dem zusätzlichen Argument:

<code class="html">{{ template "image_row" args . 5 }}</code>
Nach dem Login kopieren

Greifen Sie innerhalb der Vorlage image_row.html mit der integrierten Indexfunktion auf die Argumente zu:

<code class="html">{{ define "image_row" }}
   To stuff here {{ index . 0 }} {{ index . 1 }}
{{ end }}</code>
Nach dem Login kopieren

Mit diesem Ansatz können Sie beliebige Daten übergeben Wechseln Sie zwischen Vorlagen und erstellen Sie komplexere und wiederverwendbare Vorlagenkomponenten.

Das obige ist der detaillierte Inhalt vonWie übergebe ich Daten zwischen Vorlagen im Text/Template-Paket von Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!