我在将嵌套菜单打印到模板时遇到问题。这就是我得到的 how look right now
{{range $cat := .}}
{{if eq $cat.Parent 0}}
<p>{{$cat.Name}}</p>
{{end}}
{{ $a := ima $cat.ID}}
{{template "childs" $a}}
{{end}}
{{define "childs"}}
{{if .}}
<ul>
{{range . }}
<li class="post">
<div class="postHead">
<div class="postTitle">
<b>{{.Name}}</b>
</div>
</div>
{{ $a := ima .ID}}
{{template "childs" $a}}
{{end}}
</li>
{{end}}
</ul>
{{end}}
我只是不知道如何跳过重复项,我尝试了各种if条件,但没有成功,功能ima只是返回我通过的具有父ID的类别
这是ima函数
func ima(id uint) []*Category {
categories := []Category{}
db.Where("parent = ?", id).Find(&categories)
return categories
}
这是呈现我的模板的函数
func omg(w http.ResponseWriter, r *http.Request) {
categories := []Category{}
db.Find(&categories)
t, err := template.New("omg.html").Funcs(template.FuncMap{
"ima": ima,
}).ParseFiles("templates/omg.html")
if err != nil {
fmt.Printf("%v", err)
}
if err := t.Execute(w ,categories); err != nil {
fmt.Println(err)
}
}