使用MVC 3的Knockout javascript库有哪些主要优点

时间:2012-02-23 11:45:13

标签: asp.net-mvc-3 razor knockout.js

今天我正在研究Knockout JavaScript库及其功能。现在我想在MVC 3应用程序中使用它,但在MVC 3中使用它有什么好处?

4 个答案:

答案 0 :(得分:11)

Knockout是一种MVVM模式,可与javascript ViewModel配合使用。这与MVC一起使用的原因是,在JSON中与javascript模型的序列化非常简单。

此外,它将包含在MVC4中。以下是Knockout创建者关于如何将其用于MVC4中的单页应用程序的视频(使用Microsoft的新Web API功能):

http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2159

但实际上,MVVM允许您使用更少的编码来开发丰富的UI(例如,如果您熟悉Silverlight或WPF MVVM,您就会明白我的意思)。

给定ViewModel:

var myViewModel = { myValue: 'some text' };

您不需要绑定

$('#textBox').change(function() { myViewModel.myValue = $(this).val(); })

相反
$('#textBox').val(myViewModel.myValue)

遍布整个地方,或者在Knockout视图中对计算属性进行特殊代码处理。你可以用非常漂亮的面向对象的方式完成所有这些工作。

<input type="text" data-bind="value: myValue" />

所有事件都已连线。

答案 1 :(得分:2)

好处是更有条理,更灵活的客户端JavaScript代码。 您可以更好地分区UI,并且可以到目前为止最终得到“单页网站”...... 只做json请求(如果你愿意)意味着较少的服务器往返较小的响应等...

对我而言,真正酷的想法是通过观察者的约束......

http://knockoutjs.com/documentation/observables.html

同时检查一下: MVC + Knockoutjs =客户端MVVM幸福 http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2378

答案 2 :(得分:1)

答案 3 :(得分:0)

优势众多,下面突出显示的几个突出特点:

  • 随时可以与数据模型中的UI元素连接的可行性。
  • 轻松创建复杂的动态数据模型。
  • 数据绑定有助于操纵存储的数据,将其反映到用户界面,并通过定期后端更改(如果有)更新UI。
  • 支持事件驱动的编程模型,并提供100%的自定义。
  • 支持IE,Firefox,Safari,Bing,Chrome等更多主流 浏览器。
  • 帮助避免在服务器上使用表示逻辑和标记显示来扩展HTTP对话。
  • 确保应用业务规则,数据安全性和更多控制权 网页。
  • 它还提供参照完整性和许多验证 有关额外安全性的工作流程的功能。
  • Knockoutjs具有出色的可扩展性。它有许多扩展点和用于构建应用程序的实用程序。

您可以在我们的文章https://cynere.com/advantages-of-knockoutjs

中阅读更多内容