【问题标题】:Revel template multiple variables, access one inside the others range狂欢模板多个变量,访问其他范围内的一个
【发布时间】:2017-03-21 05:33:07
【问题描述】:

我有一个控制器传递两个变量

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

【问题讨论】:

  • p不是模板文件名吗?
  • @TheHippo 试图澄清这一点。它应该在那里呈现Page

标签: html go revel


【解决方案1】:

Revel 似乎正在使用 Go 的模板引擎,因此我想您应该能够使用 html/template 允许的任何东西,例如变量。

{{$p := .p}}
{{range .g}}
... // print g related stuff
{{$p}}
{{end}}

有关更多信息,请参阅文档https://golang.org/pkg/text/template/#hdr-Variables

请注意,如果p 不是映射中的键而是结构的字段,我相信您将无法访问它,因为它没有被导出。好的,我现在明白了,Revel 似乎是从传递给 Render 的参数名称中派生出模板内的名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-16
    • 1970-01-01
    • 1970-01-01
    • 2015-12-24
    • 2015-07-02
    • 1970-01-01
    相关资源
    最近更新 更多