我无法找到以下答案......请提出建议
我有一个基于通过ajax请求从服务器获取的元数据以dinamically方式构建的表单。它获得了大约20个显示数据值,还有大约10个用户输入字段。因此,表示视图模型和后视图模型是不同的。填充的字段也通过ajax回发。
如何正确应用Knockout视图模型概念?
1.我制作了一个用于显示和发布数据的viewmodel。在这种情况下,AJAX调用将向服务器发回大量冗余数据。选项:我可以发送一个只包含输入字段的新对象,但它在KO概念中看起来不太好
2.我创建一个只包含用户输入字段的viewmodel。显示的只读字段远离KO视图模型并使用常见的jQuery方法填充(因此我们再次使用纯KO样式)
3.或?
我很感激你的想法。
答案 0 :(得分:2)
Knockout提供了将MVVM模式应用于客户端(HTML5 / Javascript)应用程序的功能。您的JavaScript视图模型应提供操作其负责的视图所需的所有数据和属性,包括用户输入字段和仅显示字段。
一旦您将某些内容发回服务器,您就会离开MVVM世界并进入另一层以执行某些操作。因此,我认为最好制定仅包含服务器完成请求所需数据的JSON。在服务器端,你可能有一个带有验证属性的C#模型或者其他什么,但是,再次 - 你并没有试图在那里遵守MVVM模式。
希望这会有所帮助。如果需要,我很乐意详细说明。