2

我查看了很多 JavaScript 库,但由于我的 JavaScript 并不出色,我发现很难剖析哪些库最有效地满足我的要求。

目前我已经使用了视图模型并将它们提交回简单的 peasy。但是当我不想要数据库持久性或只想更新孩子时,我似乎发出越来越多的 AJAX 请求发布完整模型或某些子/部分模型。这通常以大量的 jQuery 选择器和一些讨厌的字符串连接试图匹配某个模型结束(当我使用序列化时,它不会正确处理 GUID 和其他一些东西)。

目前一切正常,但似乎有点混乱,正在寻找更优雅的解决方案。在一个理想的世界中,我想将它指向我的 MVC 项目中的视图模型,并让它将它们复制为我可以实例化的 JavaScript 模型。还是我完全错过了这些库试图实现的目标,这甚至是我应该尝试做的吗?

如果有人能指出我正确的方向或批评我正在努力实现的目标,那就太好了。

4

3 回答 3

1

您可以查看KnockoutJS,它是一个客户端 MVVM 框架,甚至还有一个用于绑定 MVC的补充项目KnockoutMVC 。

于 2013-09-11T15:13:27.777 回答
1

如果您只想在客户端上复制具有相同属性的服务器模型,那么任何 Javascript MV* 框架都可以完成这项工作。

但是,它不会自动完成,因此您必须编写代码。该框架不会生成映射到您的 C# 对象的 javascript 对象。

有许多客户端库在客户端上提供模型并绑定到服务器端点。在比较最流行和广泛使用的框架的功能时,我发现以下一些文章很有用:

如果只是Model部分,你会发现可以使用任何框架。选择一个取决于您是否要使用一些附加功能,如视图、双向绑定等。

于 2013-09-13T14:40:39.527 回答
0

我建议使用某种 Web 服务与服务器进行通信(例如在 C# XAML 和 WCF 中)。对于一个项目,我为 REST 服务开发了一种 Web 服务描述语言,它生成 JavaScript/TypeScript Web 服务客户端代码:

http://jsdl.codeplex.com

我还制作了一个库,它为 KnockoutJS 提供了一个框架,它允许使用每个视图模型实现多个视图,并直接在视图中实例化子视图(如在 MVVM-XAML/WPF 中):

http://visto.codeplex.com

一起使用这两个库就像实现一个带有 WCF 后端的 WPF 应用程序......

于 2013-09-13T14:28:23.630 回答