Этот, казалось бы, простой, но это сводит меня с ума.
Как сделать ссылку на элемент структуры выше в области внутри вложенного диапазона в шаблонах golang?
Пример:
type Foo struct {
Id string
Name string
}
type Bar struct {
Id string
Name string
}
var foos []Foo
var bars []Bar
// logic to populate both foos and bars
В шаблоне:
{{range .foos}}
<div>Foo {{.Name}}</div>
<div>
{{range ..bars}}
<div>Bar {{.Name}} <input type="text" name="ids_{{..Id}}_{{.Id}}" /></div>
{{end}}
</div>
{{end}}
Очевидно, что..bars и..Id не работают, но, надеюсь, мои намерения понятны. Я хотел бы повторить все комбинации Foo и Bar и сгенерировать элемент формы с построением имени как с идентификатором Foo, так и с идентификатором строки.
Проблема в том, что кажется невозможным:
- Доступные полосы внутри области действия диапазона foos
- Доступ к Foo-идентификатору из диапазона диапазона штриховок
У меня есть временное обходное решение для этого, добавив кучу лишних полей в обеих структурах, но это кажется мне очень уродливым, нарушает СУХОЙ, и в целом кажется очень неправильным.
Есть ли способ с шаблонами golang делать то, что я хотел бы сделать?