今天我正在研究Knockout JavaScript库及其功能。现在我想在MVC 3应用程序中使用它,但在MVC 3中使用它有什么好处?
答案 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)
优势众多,下面突出显示的几个突出特点: