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提供比架构多得多。它可以帮助你在开发周期与不断一部分:
- 代码生成
- 集成浏览器,硒和犀牛测试
- 文档
- 脚本压缩
- 错误报告