我正在将一个结构数组传递给我的模板,数据在那里,但我找不到访问特定数据的方法,我已经尝试了很多东西,在这里
我的结构
type Data struct {
Destination string
IData interface{}
}
然后在我的 Controller 中我有
users := []models.User {}
userRow := models.User{Name: "jon", Email: "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d1bbbebf91bcb0b8bdffb2bebc" rel="noreferrer noopener nofollow">[email protected]</a>"}
users = append(users, userRow)
users2 := users
data := models.Data{
Destination: "content",
IData: users,
}
data2 := models.Data{
Destination: "content",
IData: users2,
}
dataFinal := []models.Data{}
dataFinal = append(dataFinal, data)
dataFinal = append(dataFinal, data2)
这是我的模板,虽然这似乎不起作用,但它确实显示了原始数据,但似乎无法专门访问该名称。
{{define "content"}}
<h2>THIS IS THE BODY CONTENT</h2>
<ul>
{{.}}
{{range .}}
<li>{{.}}</li>
{{end}}
</ul>
{{end}}
编辑: 项目:https://github.com/og2/go-og2-mvc
你可能想运行:
获取 github.com/go-sql-driver/mysql
访问 github.com/julienschmidt/httprouter
让它工作并且应该没问题!
最佳答案
如果您传递给 "content"
模板执行的管道值是 dataFinal
,那么您必须使用两个 {{range}}
actions 作为 dataFinal
本身是一个 slice (类型为 []models.Data
),并且 Data.IData
也是一个 slice (类型为输入[]model.User
)。
在内部{{range}}
内,您可以引用User.Name
,例如.Name
:
<li>{{.Name}}</li>
请参阅此工作示例:
const templ = `{{define "content"}}
<h2>THIS IS THE BODY CONTENT</h2>
<ul>
{{.}}
{{range .}}
<ul>
{{range .IData}}
<li>{{.Name}}</li>
{{end}}
</ul>
{{end}}
</ul>
{{end}}`
// Parsing and executing the template:
t := template.Must(template.New("").Parse(templ))
fmt.Println(t.ExecuteTemplate(os.Stdout, "content", dataFinal))
输出(在 Go Playground 上尝试):
<h2>THIS IS THE BODY CONTENT</h2>
<ul>
[{content [{jon <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e78d8889a78a868e8bc984888a" rel="noreferrer noopener nofollow">[email protected]</a>}]} {content [{jon <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="197376775974787075377a7674" rel="noreferrer noopener nofollow">[email protected]</a>}]}]
<ul>
<li>jon</li>
</ul>
<ul>
<li>jon</li>
</ul>
</ul>
<nil>
关于go - 访问我的模板中的结构数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39367890/