0

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

4

1 回答 1

2

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

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

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

于 2013-01-31T15:53:38.717 回答