为什么我的title
对象的page
属性未在标题模板中填充?
这是我的小程序
package main
import (
"html/template"
"os"
)
type Page struct {
Title string
Body string
}
func main() {
f, _ := os.Create("index.html")
defer f.Close()
page := Page{"I'm the title", "And I'm the body"}
t := template.New("post.html")
t = template.Must(t.ParseGlob("templates/*html"))
t.Execute(f, page)
}
这是templates / post.html文件:
{{template "header.html"}}
<article>
{{.Body}}
</article>
{{template "footer.html"}}
和我的templates / header.html文件:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>{{.Title}}</title>
</head>
<body>
为了完整起见,我的页脚,templates / footer.html文件:
<footer>
© 2015
</footer>
</body>
</html>
模板/ post.html模板中的.Body变量已填充,但templates / header.html模板中的.Title为空,我认为这是因为它是部分的,从另一个模板渲染...
如何使这项工作?
我将完整的上述示例发布为gist
答案 0 :(得分:3)
{{template "header.html"}}
表格不会传递任何数据。
请尝试{{template "header.html" .}}
。
有关详细信息,请参阅text/template
的“操作”部分。