我想为View模型定义一个结构,如下所示:
type AdminView struct {
PageTitle string
UserName string
UserType string
Templates []Template
...
OtherAttr Other
}
来帮助我更好地组织模板和DTO,但到目前为止效果不佳。我想要实现的是这样的:
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)
}
我想知道我是否在正确的道路上,使用上述方法在渲染View时引入更多抽象。我也想知道人们如何在现实世界中使用复杂的数据渲染复杂的视图。
提前致谢。
您即将步入正轨。请记住,Go不是一种面向对象的语言,因此继承(您要尝试做的事情)不是很常见的模式。
相反,您要做的是使用模板,然后将视图模型传递到模板中:
view := AdminView{}
...
tmpl.Exec(w, view)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句