Mvvm 剔除视图模型概念

Mvvm 剔除视图模型概念,mvvm,knockout.js,Mvvm,Knockout.js,我无法找到以下问题的答案。。。请给我一个建议。 我有一个表单,它是基于通过ajax请求从服务器获取的元数据而构建的。它为显示数据获取大约20个值,也为用户输入获取大约10个字段。因此,表示视图模型和后视图模型是不同的。填充字段也会通过ajax发回。 如何正确应用淘汰视图模型概念? 1.我制作了一个用于显示和发布数据的单视图模型。在这种情况下,AJAX调用将向服务器发回大量冗余数据。选项:我可以发送一个只包含输入字段的新对象,但在KO概念中它看起来不正常。 2.我创建了一个仅包含用户输入字段的vi

我无法找到以下问题的答案。。。请给我一个建议。
我有一个表单,它是基于通过ajax请求从服务器获取的元数据而构建的。它为显示数据获取大约20个值,也为用户输入获取大约10个字段。因此,表示视图模型和后视图模型是不同的。填充字段也会通过ajax发回。
如何正确应用淘汰视图模型概念?
1.我制作了一个用于显示和发布数据的单视图模型。在这种情况下,AJAX调用将向服务器发回大量冗余数据。选项:我可以发送一个只包含输入字段的新对象,但在KO概念中它看起来不正常。
2.我创建了一个仅包含用户输入字段的viewmodel。要显示的只读字段远离KO视图模型,并使用常见的jQuery方法填充(因此我们又不再使用纯KO样式)
3.还是?

我很欣赏你的想法。

Knockout提供了将MVVM模式应用于客户端(HTML5/Javascript)应用程序的能力。您的JavaScript视图模型应该为用户输入字段和仅显示字段提供操作其负责的一个或多个视图所需的所有数据和属性

一旦您将某些内容发布回服务器,您将离开MVVM世界,进入另一层执行某些操作。因此,我认为最好制定只包含服务器完成请求所需数据的JSON。在服务器端,您可能有一个带有验证属性的C#模型或其他任何东西,但是,再一次,您并没有试图坚持MVVM模式


希望这能有所帮助。如果需要的话,我很乐意详细说明。

哇,好漂亮又干净。非常感谢。那么,如何创建要发布到SetServer的JSON对象呢?手动映射?我通常创建或获取包含所需数据的JS对象,然后使用JSON.stringify或类似工具创建JSON。根据需要发送的数据,您可能已经在JS视图模型的复杂属性中包含了数据或至少部分数据。