如何在Go中定义视图模型

消失 :

我想为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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Razor视图中更新JavaScript中的模型值?

如何在Django中从基于类的视图发送多个模型

如何在Go中定义位文字?

如何在JavaFX MVC中通过模型更新视图?

如何在go中定义标志组?

如何在视图模型中获取鼠标位置

停用后如何在Durandal中处理视图模型

如何在视图模型中存储linq查询结果

如何在Aurelia中从视图绑定到模型

如何在MugenMvvm中获取与视图模型相关的视图

如何在Swift 4的Xcode中创建具有多个视图控制器的自定义模型的实例?

如何在Sequelize模型中定义索引?

如何在视图模型对象中更新自定义值

如何在视图模型中以Xamarin形式DeserializeObject

如何在Django模型中定义关系?

如何在Swift中从视图访问模型中的变量

如何在Joomla中添加其他模型的视图

如何在视图模型中接收InkCanvas.StrokeCollected事件

如何在视图Yii中调用模型函数?

如何在视图中获取具有在视图中定义的动态URL的模型

如何在Flask Admin中的“多对多”关系中的“模型视图”中进行自定义查询?

使用视图模型时,如何在mvc中实现pagedlist?

如何在Aurelia视图模型中向canDeactivate提供信息

如何在 Odoo 10 中创建没有模型的视图

如何在视图模型中设置总计属性的值

如何在视图集使用的 Django 模型中添加列的自定义行级处理

如何在 Django 中编写视图来更新模型图像?

如何在 BindableLayout 中绑定到 MasterPage 视图模型

如何在 Go 中定义集合映射?