我正在将一个struct(一个元素是一个Category对象的数组)传递给模板进行渲染.在模板中,我的代码看起来像这样:
{.repeated section Categories}
<p>{@}</p>
{.end}
Run Code Online (Sandbox Code Playgroud)
但是,每个类别都有一些我需要能够访问的元素(例如Title).我尝试过像{@ .Title}这样的东西,但我似乎无法找到完成此任务的正确语法.如何在模板循环期间访问数组中的数据成员?
你可以写{Title}.
每当模板包遇到一个标识符时,它会尝试在当前对象中查找它,如果它没有找到任何内容,它会尝试父项(直到根目录).的@,如果你wan't访问当前对象作为一个整体,而不是它的属性之一是就在那里.
由于我不习惯模板包,我创建了一个小例子:
type Category struct {
Title string
Count int
}
func main() {
tmpl, _ := template.Parse(`
{.repeated section Categories}
<p>{Title} ({Count})</p>
{.end}
`, nil)
categories := []Category{
Category{"Foo", 3},
Category{"Bar", 5},
}
tmpl.Execute(os.Stdout, map[string]interface{} {
"Categories": categories,
})
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4752 次 |
| 最近记录: |