asp.net-mvc – 在MVC中,什么是ViewModel?

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 在MVC中,什么是ViewModel?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是否认为它几乎像一个视图所需的所有对象的包装?

例如,假设你有一家在线商店出售音乐和dvds.在您的浏览页面上,您需要显示所有dvds和音乐的列表.因此,您是否将构建一个viewmodel对象,该对象具有包含相册列表和dvds列表的两个属性

从我的理解看来,你拥有所有的模型类.一个专辑/ Dvd类,但简单地传递这些单独不足以为您的View. viewmodel基本上作为您的View需要的所有数据的载体吗?

解决方法

你的理解大多是正确的,但是还不完整.

viewmodel还可以从您的Model携带的数据类型执行到您的View可以方便地使用的数据类型的转换;这甚至可能意味着viewmodel不直接携带模型,而是以更合适的格式携带相同信息的其他容器(可能是子集).

考虑到您可以拥有聚合相册和DVD的库模型 – 这种模型与相应viewmodel之间的区别正是该模型不关心(甚至了解)View,而viewmodel具有明确的目的促进它.

猜你在找的asp.Net相关文章