第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將多個對象傳遞給 Go html 模板

如何將多個對象傳遞給 Go html 模板

Go
繁華開滿天機 2021-11-08 14:42:37
這是我的對象數(shù)組,type PeopleCount []struct{   Name  string   Count int}type Consultation []struct{   Name          string   Opd_count     int   Opinion_count int   Req_count     int}我應(yīng)該如何將兩個對象傳遞給 html 模板并將它們排列在表格中?
查看完整描述

2 回答

?
慕村9548890

TA貢獻1884條經(jīng)驗 獲得超4個贊

定義一個包含人數(shù)統(tǒng)計和咨詢字段的匿名結(jié)構(gòu),并將該結(jié)構(gòu)傳遞給模板 Execute 方法:


var data = struct {

    PeopleCounts  []PeopleCount

    Consultations []Consultation

}{

    PeopleCounts:  p,

    Consultations: c,

}

err := t.Execute(w, &data)

if err != nil {

    // handle error

}

在模板中使用這些字段:


{{range .PeopleCounts}}{{.Name}}

{{end}}

{{range .Consultations}}{{.Name}}

{{end}}

游樂場示例


您可以為模板數(shù)據(jù)聲明一個命名類型。匿名類型聲明的優(yōu)點是模板數(shù)據(jù)的知識本地化到調(diào)用模板的函數(shù)。


您還可以使用地圖而不是類型:


err := t.Execute(w, map[string]interface{}{"PeopleCounts": p, "Consultations": c})

if err != nil {

    // handle error

}

使用地圖的缺點是模板中的拼寫錯誤可能不會導(dǎo)致錯誤。例如,``{{range .PopleConts}}{{end}}` silent 什么都不做。


上面的代碼假設(shè) PeopleCount 和 Consultation 是結(jié)構(gòu)類型而不是匿名結(jié)構(gòu)類型的切片:


type PeopleCount struct {

  Name  string

  Count int

}


type Consultation struct {

  Name          string

  Opd_count     int

  Opinion_count int

  Req_count     int

}

給元素一個命名類型通常比給切片一個命名類型更方便。


查看完整回答
反對 回復(fù) 2021-11-08
?
繁星淼淼

TA貢獻1775條經(jīng)驗 獲得超11個贊

如果您愿意,可以定義一個未導(dǎo)出的結(jié)構(gòu)體,其中包含人數(shù)統(tǒng)計和咨詢字段,并將該結(jié)構(gòu)體傳遞給模板 Execute 方法:


type viewModel struct {

    PeopleCounts  []PeopleCount

    Consultations []Consultation

}


// ...


var data = viewModel{

    PeopleCounts:  p,

    Consultations: c,

}

err := t.Execute(w, &data)

if err != nil {

    // handle error

}

這種方法與@Bravada 的回答大致相似。是否顯式或匿名使用視圖模型類型只是個人喜好的問題。


查看完整回答
反對 回復(fù) 2021-11-08
  • 2 回答
  • 0 關(guān)注
  • 194 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號