我需要帮助。
我需要在子文件("html/template"
中使用{{.Title}}
标记("article.html"
,示例),例如在我的文字中:
// ...
type Page struct {
Test string
}
type News struct {
Page
Title string
}
func main() {
t, _ := template.ParseFiles(filepath+"core.tmpl", filepath+"article.tmpl")
p := &News{
Title: "TITLE",
Page: Page{
Test: "TITLE",
},
}
t.Execute(wr, p)
}
core.tmpl
中的代码:
{{template "article"}}
article.tmpl
中的代码:
{{define "article"}}
{{.Title}}<br><br>
{{.Page.Test}}
{{end}}
答案 0 :(得分:2)
在core.tmpl
中你必须使用
{{template "article" .}}
如果您未在结尾指定.
,则会使用nil
数据执行模板。指定.
会将.
的值传递给调用的模板。
引用text/template
包文档Actions
部分:
{{template "name"}}
The template with the specified name is executed with nil data.
{{template "name" pipeline}}
The template with the specified name is executed with dot set
to the value of the pipeline.