Revel 模板多个变量,在其他范围内访问一个
Revel template multiple variables, access one inside the others range
我有一个传递两个变量的控制器
func (a App) Page() revel.Result {
var g []*G
...
return c.Render(p, g)
}
在我的 .html
中,我想遍历 g
。是否可以在迭代中访问 p ?我无法管理。我的尝试如下所示
{{range .g}}
... // print g related stuff
.p
{{end}}
并抛出 can't evaluate field p in type *G
.
Revel 似乎在使用 Go 的模板引擎,因此我想您应该能够使用 html/template
允许的任何内容,例如变量。
{{$p := .p}}
{{range .g}}
... // print g related stuff
{{$p}}
{{end}}
有关详细信息,请参阅文档https://golang.org/pkg/text/template/#hdr-Variables
请注意,如果 p
不是映射中的键而是结构的字段,我相信您将无法访问它,因为它不是exported. 好的,我现在明白了,Revel 似乎是从传递给 Render
.
的参数名称中派生出模板内的名称
我有一个传递两个变量的控制器
func (a App) Page() revel.Result {
var g []*G
...
return c.Render(p, g)
}
在我的 .html
中,我想遍历 g
。是否可以在迭代中访问 p ?我无法管理。我的尝试如下所示
{{range .g}}
... // print g related stuff
.p
{{end}}
并抛出 can't evaluate field p in type *G
.
Revel 似乎在使用 Go 的模板引擎,因此我想您应该能够使用 html/template
允许的任何内容,例如变量。
{{$p := .p}}
{{range .g}}
... // print g related stuff
{{$p}}
{{end}}
有关详细信息,请参阅文档https://golang.org/pkg/text/template/#hdr-Variables
请注意,如果 好的,我现在明白了,Revel 似乎是从传递给 p
不是映射中的键而是结构的字段,我相信您将无法访问它,因为它不是exported.Render
.