将数据渲染到Golang模板中。

huangapple go评论72阅读模式
英文:

Render data into a template in golang

问题

我想使用Golang的html/template将两个不同的数据(在这种情况下是startup和event)同时渲染到HTML中。

var startupData []model.StartupModel
err = startupCollection.Find(nil).Sort("-timestamp").All(&startupData)

var eventData []model.EventModel
err = eventCollection.Find(nil).Sort("-timestamp").All(&eventData)

我该如何将startupData和EventData合并到一个变量中,以便我可以按以下方式进行渲染?

t.Execute(w, result) // result是eventData + startupData
英文:

I want to render 2 different data(startup, event in this case) at the same time into html using golangs' html/template.

var startupData []model.StartupModel
err = startupCollection.Find(nil).Sort("-timestamp").All(&startupData )

var eventData []model.EventModel
err = eventCollection.Find(nil).Sort("-timestamp").All(&eventData )

How can I combine both startupData and EventData into a variable so that I can render as the following ?

	t.Execute(w, result) // result is eventData + startupData

答案1

得分: 0

你可以创建一个结构体并将其传递给Execute函数。

...
result := struct {
        StartupData []model.StartupModel
        EventData []model.EventModel
    }{
        StartupData : startupData,
        EventData : eventData,
    }
t.Execute(w, result)
英文:

You can create a struct and pass to Execute function

...
result := struct {
        StartupData []model.StartupModel
        EventData []model.EventModel
    }{
        StartupData : startupData,
        EventData : eventData,
    }
t.Execute(w, result)

huangapple
  • 本文由 发表于 2016年2月7日 04:46:23
  • 转载请务必保留本文链接:https://go.coder-hub.com/35246270.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定