今天我正在研究Knockout JavaScript庫及其功能。現在我想在MVC 3應用程序中使用它,但在MVC 3中使用它有什麼好處?使用MVC 3 Knockout java腳本庫的主要優勢3
5
A
回答
11
Knockout是一個可與javascript ViewModel配合使用的MVVM模式。這與MVC運作良好的原因在於,JSON中的JavaScript模型的序列化非常簡單。
此外,它將包含在MVC4中。下面是關於如何使用它在MVC4單頁的應用程序(與Microsoft的新的Web API功能)的視頻通過基因敲除的創造者:
http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2159
但好處是真的MVVM允許你開發豐富的用戶界面的編碼少得多(如果你熟悉Silverlight或WPF MVVM,你就會明白我的意思)。
給出的視圖模型:
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
0
優點是很多的,一些突出的特點摘要如下:
- 可行性與數據模型的UI元素隨時隨地連接。
- 輕鬆創建複雜和動態的數據模型。
- 數據綁定輔助操作存儲的數據,將其反映到用戶界面並用常規後端更改(如果有)更新UI。
- 支持事件驅動的編程模型,並提供100%的定製。
- 支持IE,Firefox,Safari,Bing,Chrome等多種主流瀏覽器。
- 有助於避免在服務器上呈現邏輯和標記表示的HTTP對話的膨脹。
- 它確保在網頁上應用業務規則,數據安全和更多控制。
- 它還提供參考完整性和許多驗證 有關工作流程的額外安全性功能。
- Knockoutjs提供出色的可擴展性。它有許多擴展點和用於構建應用程序的實用程序。
相關問題
- 1. Knockout + mvc 3 +驗證
- 2. 將Silverlight從2升級到3有什麼主要優勢?
- 3. Knockout JS +發送到MVC 3
- 4. 使用腳本#0.7與MVC 3
- 5. Actionscript 3 - 腳本庫
- 6. ASP.net CORE優於Asp.net的主要優勢
- 7. 在asp.net mvc中設置腳本和css的優先級3
- 8. asp.net mvc 4 webapi的優勢超過傳統的asp.net mvc 3 ajax調用
- 9. MVC 3中HandleErrorAttribute的優點
- 10. 什麼是asp.net mvc 3中的引用腳本庫?
- 11. 使用MVC 3
- 12. ASP.NET MVC 3 JQuery的腳本丟失
- 13. ASP.NET MVC 3要求
- 14. MVC優勢
- 15. ASP.NET Webforms的主要優勢是什麼?
- 16. asp.net中的版本庫和ViewModel mvc 3
- 17. 在MVC中使用Restful Services的優勢
- 18. 在Docker羣集模式中使用副本的主要優勢是什麼?
- 19. ASP.NET MVC 3 - 不要使用本地化的驗證消息
- 20. ASP.NET MVC 3刪除/主頁
- 21. Enum的Java優勢
- 22. ASP.NET MVC 3:用於主模板的ViewModel?
- 23. 如何緩存靜態Java腳本在asp.net mvc 3
- 24. 在ASP .NET MVC 3中使用XSLT 3
- 25. 在ASP.NET MVC 3中使用SquishIt 3
- 26. NoClassDefFoundError在Spring MVC 3中使用AjaxUrlBasedViewResolver 3
- 27. 腳本在ASP.NET MVC中使用實體框架3
- 28. MVC 3 WebGrid.Table頁腳參數
- 29. MVC 3添加本地數據庫
- 30. 什麼是主要優勢批註過XML在Java
非常感謝保羅的及時答覆,在這裏閱讀更多。是的,我知道WPF中的MVVM,但我仍然無法在MVC應用程序中找到任何具體優勢,假設我在模型中有10個屬性,現在我必須在視圖中創建相同的10個屬性模型也綁定數據。那麼爲什麼我要做額外的代碼? – 2012-02-23 12:12:21
數據更改時,用戶界面中的即時更改。如果你不需要「像現場一樣」的更新,那麼你不需要擊倒 – soniiic 2012-02-23 12:17:20
好吧。所以這意味着如果有人更改爲我的數據,那麼UI將自動更新這些值,而無需向服務器發送任何請求? – 2012-02-23 13:07:38