JavaScriptMVC是組織和開發大型JS應用程序的絕佳選擇。
建築設計非常深思熟慮。有4個東西你都不會做的JavaScript:
- 響應事件
- 請求數據/操縱服務(阿賈克斯)
- 添加特定領域的信息Ajax響應。
- 更新DOM
JMVC這些分裂成模型,視圖,控制器模式。
首先,也許是最重要的優點是控制器。控制器使用事件委託,因此您只需爲您的頁面創建規則,而不是附加事件。他們還使用控制器的名稱來限制控制器的工作範圍。這使得你的代碼具有確定性,這意味着如果你看到一個事件發生在'#todos'元素中,你就知道必須有一個todos控制器。
$.Controller.extend('TodosController',{
'click' : function(el, ev){ ... },
'.delete mouseover': function(el, ev){ ...}
'.drag draginit' : function(el, ev, drag){ ...}
})
接下來是模型。 JMVC提供了強大的類和基本模型,可讓您快速組織Ajax功能(#2)並用特定域功能(#3)包裝數據。完成後,您可以使用控制器中的模型,例如:
Todo.findAll({after:new Date()},myCallbackFunction);
最後,一旦你的待辦事項回來,你必須顯示它們(#4)。這是你使用JMVC視圖的地方。
'.show click' : function(el, ev){
Todo.findAll({after: new Date()}, this.callback('list'));
},
list : function(todos){
$('#todos').html(this.view(todos));
}
在 '視圖/待辦事項/ list.ejs'
<% for(var i =0; i < this.length; i++){ %>
<label><%= this[i].description %></label>
<%}%>
JMVC提供比架構多得多。它可以幫助你在開發週期與不斷一部分:
- 代碼生成
- 集成瀏覽器,硒和犀牛測試
- 文檔
- 腳本壓縮
- 錯誤報告