歷史
JavaScriptMVC 的第一個版本是在2008年5月釋出。穩定版的 JavaScriptMVC 2.0 在2009年6月釋出,並以 jQuery 為基礎。主要開發目標為維持程式碼的簡短和專注在它獨特的功能上。3.0版本在2010年12月釋出。而從 JavaScriptMVC 中所獨立出來的 MVC 架構「CanJS」則在2012年4月釋出。
控制器
控制器(Controller)是由許多函式所組成,這些函式會在適當的事件發生時被呼叫。函式名稱提供這些函式被呼叫時的描述。只要正確地命名函式,控制器就能夠辨認這些函式並在正確的時機呼叫它們。舉例來說:
$.Controller('TodosController',{ ".todo mouseover": function(el, ev){ el.css("backgroundColor","red") }, ".todo mouseout": function(el, ev){ el.css("backgroundColor","") }, "#create_todo click" : function(){ this.find("ol").append("New Todo"); } });
在控制器中也可以處理 OpenAjax 事件,例如:
$.Controller('TodosController',{ "main.test subscribe": function(ev, publisherData){ // TODO: do something }, "other.event subscribe": function(ev, publisherData){ // TODO: do something } });
視圖
模型
模型(Model)類別提供了組織應用程式資料層級的基本功能。
$.Model('Todo',{ findAll: '/todos', findOne: '/todos/{id}', create: '/todos', update: '/todos/{id}' destroy : '/todos/{id}' },{});
測試
JavaScriptMVC 還提供了一套完整的測試外掛,支援模型的單元測試,以及需要處理事件驅動結構的功能性測試。測試工具可以在 Rhino 引擎的命令列模式執行。