今天遇到了一个Bug
,具体如下:
type A struct{
Id int64
Title string
Content string
}
type B struct{
a *A
Num int //Num存储这a的个数信息
}
此时在controller
文件中this.Data["lists"]=bList
,即通过模板传递[]*B
形式的slice
,在HTML
文件中通过模板调用
{{range .lists}}
//位置1
{{with .a}}
//位置2
//output somrthing
{{.Id}}
{{.Title}}
{{end}} //with结束标志
{{end}}
在上面的代码中,在位置1
使用{{.Num}}
可以正常显示数目;但是在位置2
显示为空,改变显示方法,使用{{.Num}}
显示上一级的变量。但是依然显示为空,不能正常显示。
//利用模板的变量赋值
{{range $temp := .lists}}
//位置1
{{with .a}}
//位置2
//output somrthing
{{.Id}}
{{.Title}}
{{end}} //with结束标志
{{end}}
在上述代码的位置1
或者位置2
任意位置插入{{$temp.Num}}
就可以正常显示了