2014-02-15 123 views
4

有人可以向我解釋爲什麼我會在ASP.NET MVC中使用Knockout.js?做一些研究,看起來knockout.js的主要用途是數據綁定。但是,爲什麼我需要在使用強類型視圖綁定元素和使用Razor時使用knockout.js?ASP.NET MVC和Razor的Knockout.js

,而不是淘汰賽方式:

<td data-bind="text: Id"></td> 

我不能只是做這個用剃刀?

<td>@Model.Id</td> 

我看到淘汰賽現在包含在MVC 4中,但不知道如何利用它。

對不起,如果這之前已經問過,但我做了一些搜索,但我找不到任何清楚的東西。

+0

這樣做的好處之一是在服務器上減少負載,在客戶端上減少更多負載。您可以讓本地客戶端處理所有數據綁定或讓服務器。 –

回答

11

基本上,MVVM js框架(如knockoutjs)旨在用於單頁應用程序,其中您具有最少的服務器端邏輯,單個服務器處理程序或MVC控制器操作(如果您願意),即服務某些HTML。所有的應用程序邏輯都是用javascript編寫的。只有來自客戶端的REST服務的AJAX調用,並且所有視圖模型都位於客戶端上。服務器將僅向客戶端發送初始JSON模型,但與該模型的所有交互都將發生在客戶端上。

因此,儘管您可以在Razor中實現大量邏輯,但這仍然可以保持服務器端的處理。如果你想要一個完全在客戶端實現的非常動態的應用程序,你可以考慮在客戶端上使用這樣的框架。

+0

不一定是SPA.Routes可能仍然保留在服務器上 – Rod