dtxob80644 2018-08-11 18:56
浏览 52

Golang嵌套菜单重复

I have problem with printing nested menu to template. This is what I get 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}}

I just don't know how to skip duplicate, I try with every if condition what come to my mind but no success, function ima just return categories with parent id I pass

this is function ima

func ima(id uint) []*Category {
    categories := []Category{}
    db.Where("parent = ?", id).Find(&categories)
return categories
}

and this is function who render my template

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)
    }


}
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 划分vlan后不通了
    • ¥15 GDI处理通道视频时总是带有白色锯齿
    • ¥20 用雷电模拟器安装百达屋apk一直闪退
    • ¥15 算能科技20240506咨询(拒绝大模型回答)
    • ¥15 自适应 AR 模型 参数估计Matlab程序
    • ¥100 角动量包络面如何用MATLAB绘制
    • ¥15 merge函数占用内存过大
    • ¥15 Revit2020下载问题
    • ¥15 使用EMD去噪处理RML2016数据集时候的原理
    • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大