Heim > Backend-Entwicklung > Golang > Wie rendere ich mehrere untergeordnete Vorlagen innerhalb einer Go-Layout-Vorlage?

Wie rendere ich mehrere untergeordnete Vorlagen innerhalb einer Go-Layout-Vorlage?

Mary-Kate Olsen
Freigeben: 2024-12-15 05:28:08
Original
834 Leute haben es durchsucht

How to Render Multiple Child Templates within a Go Layout Template?

Go-Vorlagen: Untergeordnete Vorlagen innerhalb eines Layouts rendern

Frage:

In einem Golang Anwendung, wie kann ich mehrere untergeordnete Vorlagen innerhalb eines übergeordneten Layouts rendern? Vorlage?

Setup:

Das Problem betrifft vier Vorlagen: eine Layoutvorlage „layout.html“ und drei untergeordnete Vorlagen: „tags.html“, „content.html“ und „Kommentar“. html. Es wird eine Go-Struktur bereitgestellt, um Daten für die untergeordneten Vorlagen zu speichern.

Problem:

Es stellt sich die Frage, wie jede untergeordnete Vorlage gerendert und die Ergebnisse im Layout kombiniert werden sollen Vorlage.

Go-Implementierung:

Um untergeordnete Vorlagen innerhalb eines Layouts zu rendern, beachten Sie Folgendes Schritte:

  1. Vorlagenzeichenfolgen analysieren:Parsen Sie das Layout und die untergeordneten Vorlagenzeichenfolgen mithilfe der Funktionsfamilie template.Parse* in eine einzige Vorlage.
  2. Erstellen Sie ein Vorlagendatenobjekt: Erstellen Sie ein Datenobjekt, das Werte für alle untergeordneten Vorlagen enthält. Dieses Objekt wird später an die Execute-Funktion übergeben.
  3. Untergeordnete Vorlagen im Layout definieren und analysieren: Verwenden Sie in der Layoutvorlage die Direktive {{template „childTemplateName“}} zum Aufrufen jede untergeordnete Vorlage. Der childTemplateName entspricht dem Namen, der in der Direktive {{define "childTemplateName"}} der untergeordneten Vorlage zugewiesen wurde.
  4. Layoutvorlage ausführen: Übergeben Sie das Vorlagendatenobjekt an die Execute-Funktion. Die Funktion führt die Layoutvorlage aus, ruft die untergeordneten Vorlagen nach Bedarf auf und rendert sie an Ort und Stelle.

Beispielcode:

package main

import (
    "fmt"
    "html/template"
    "os"
)

// Define the layout template
const layout = `
<html>
    <body>
        {{template "tags"}}
        {{template "content"}}
        {{template "comment"}}
    </body>
</html>`

// Define the child templates
const tags = `{{define "tags"}}
<div>{{.Name}}</div>
{{end}}`

const content = `{{define "content"}}
<div>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie rendere ich mehrere untergeordnete Vorlagen innerhalb einer Go-Layout-Vorlage?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage