2017-05-24 3 views
0

にビューモデルを定義するにはどうすればよい私は何かが見える、ビューモデルの構造を定義したいと思います:私はより良いテンプレートやDTOを整理するためあなたが行く

type AdminView struct { 
    PageTitle string 
    UserName string 
    UserType string 
    Templates []Template 
    ... 
    OtherAttr Other 
} 

が、とてもうまく働いていません遠い私は上記のアプローチを使用してビューをレンダリングする際に、より抽象化を導入する正しい軌道に乗っていますかどうかを知りたいのですが

func adminViewHandler (w http.ResponseWriter, r *http.Request) { 
    data := processRequestData (r) // process request form data 
    view := AdminView {} 
    // then assign values to view 
    view.render(w) // similar to tmpl.Exec(w, data) 
} 

:私は何を達成したいことは、このようなものです。私は人々が現実世界でどのように複雑なデータを使って複雑なビューをレンダリングするかを知りたい。

ありがとうございます。

+1

一度に*だけ*の質問をする必要があります。最初の質問は広すぎて主に意見は根拠があったので、私はその部分を削除しました。 [どのような種類の質問を避けるべきですか?](https://stackoverflow.com/help/dont-ask)も参照してください。 – Carpetsmoker

答えて

1

あなたはほぼ確実に進んでいます。 Goはオブジェクト指向言語ではないので、継承(あなたがしようとしていること)はあまり一般的ではありません。あなたがどうなるのかその代わり

は、テンプレートを使用し、テンプレートにビューモデルを渡すことです:

view := AdminView{} 
... 
tmpl.Exec(w, view) 
関連する問題