1 回答
TA贡献1802条经验 获得超4个赞
如果您传递给"content"模板执行的管道值为dataFinal,那么您必须使用两个{{range}}操作,因为dataFinal它本身是一个切片(类型为[]models.Data),Data.IData也是一个切片(类型为[]model.User)。
在内部{{range}}你可以参考User.Name类似.Name:
<li>{{.Name}}</li>
请参阅此工作示例:
const templ = `{{define "content"}}
<h2>THIS IS THE BODY CONTENT</h2>
<ul>
{{.}}
{{range .}}
<ul>
{{range .IData}}
<li>{{.Name}}</li>
{{end}}
</ul>
{{end}}
</ul>
{{end}}`
// Parsing and executing the template:
t := template.Must(template.New("").Parse(templ))
fmt.Println(t.ExecuteTemplate(os.Stdout, "content", dataFinal))
输出(在Go Playground上试试):
<h2>THIS IS THE BODY CONTENT</h2>
<ul>
[{content [{jon jon@mail.com}]} {content [{jon jon@mail.com}]}]
<ul>
<li>jon</li>
</ul>
<ul>
<li>jon</li>
</ul>
</ul>
<nil>
- 1 回答
- 0 关注
- 120 浏览
添加回答
举报