Получите доступ к шаблону нескольких переменных, получите доступ к одной из других
У меня есть контроллер, передающий две переменные
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
,
1 ответ
Кажется, что в Revel используется движок шаблонов Go, поэтому, я думаю, вы сможете использовать все, что разрешено с html/template
как переменные.
{{$p := .p}}
{{range .g}}
... // print g related stuff
{{$p}}
{{end}}
См. Документацию для получения дополнительной информации https://golang.org/pkg/text/template/
Пожалуйста, обратите внимание, если p
это не ключ на карте, а поле структуры, я думаю, вы не сможете получить к нему доступ, поскольку он не экспортируется. Хорошо, теперь я понимаю, кажется, что Revel выводит имена внутри шаблона из имен аргументов, которые были переданы Render
,