Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Templat Reka Letak Asas boleh Digunakan Secara Berkesan dengan Go HTML/Templat?

Bagaimanakah Templat Reka Letak Asas boleh Digunakan Secara Berkesan dengan Go HTML/Templat?

Barbara Streisand
Barbara Streisandasal
2024-11-08 17:58:02370semak imbas

How can Base Layout Templates be Effectively Used with Go HTML/Template?

Menggunakan Templat Reka Letak Asas dalam HTML/Templat Go

Dalam kod yang disediakan, isunya terletak pada penggunaan fail templat asas yang tidak betul. Untuk menyelesaikan masalah ini, kami perlu mentakrifkan fail templat asas dan merujuknya dalam templat separa kami, yang akan dilaksanakan secara dinamik.

Templat Asas (base.html):

Fail ini mentakrifkan reka letak keseluruhan halaman, termasuk elemen yang dikongsi merentas semua halaman, seperti pengepala, pengaki dan navigasi.

{{define "base"}}
<!DOCTYPE html>
<html lang="en">
<body>
  <!-- Header -->

  {{template "content" .}}

  <!-- Footer -->
</body>
</html>
{{end}}

Templat Separa 1 (halaman1.html):

Fail ini mentakrifkan kandungan khusus untuk halaman 1.

{{define "content"}}
<h1>Page 1</h1>
{{end}}
{{template "base"}}

Templat Separa 2 (halaman2.html):

Fail ini mentakrifkan kandungan khusus untuk halaman 2.

{{define "content"}}
<h1>Page 2</h1>
{{end}}
{{template "base"}}

Penggunaan:

Untuk menggunakan templat asas, huraikan fail yang mengandungi templat asas dan kandungan:

tmpl, err := template.ParseFiles("page1.html", "base.html")
if err != nil {
    // Handle error
}

Kemudian, laksanakan templat dengan kandungan yang ditentukan:

err = tmpl.ExecuteTemplate(w, "base", yourContext)
if err != nil {
    // Handle error
}

Ini akan memberikan kandungan yang sesuai dalam reka letak templat asas.

Atas ialah kandungan terperinci Bagaimanakah Templat Reka Letak Asas boleh Digunakan Secara Berkesan dengan Go HTML/Templat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn