Mokit 最初编写于 2012 年,是一个面向移动应用的前端 mvc 框架,v3 版本进行了大量的重构或重写,并尽量的保持了和以前版本相似的 API,
v3 是一个「极轻量」的 MVVM 框架,相较目前主流的相似的框架(react/vue/angular),mokit v3 更为「轻量」,但愿为开发人员提供多一种的选择。前端
MVC -> MVVMvue
重写模板引擎(由字符模板改成 DOM 模板),新增支持双向绑定react
原来的 View 类改成 Component,同时取消了 Controller 类git
options 选项改成 properties,并支持计算属性github
onRender 生命周期函数改成 onReadymvc
新增支持 data 选项app
新增支持 watches 选项框架
分拆 template 选项功能,再也不自动检查是否为 Element,同时新增 element 选项函数
指令默认前缀由 data-
改成 m:
,同时自定义指令动画
面向移动设备,内置支持经常使用「手势事件」并能够轻松添加自定义事件。
极其轻量仅 9.8k (uglify+gzip)
提供类 WebCompoents 的支持,并支持「组件继承」
HTML:
<div id="app"> <input type="text" m:model="name" /> <button m:on:tap="say(name)">click me</button> </div>
JavaScript:
//启动应用 mokit({ element: document.getElementById('app'), data:function(){ return { name: '世界' }; }, say: function (name) { alert('hello '+ name); } }).start();
编写组件:
//定义一个 hello 组件 var Hello = new mokit.Component({ template: '<button m:on:click="say(name)" m:content></button>', properties: { name: null}, say: function (name) { alert('hello '+ name); } });
HTML:
<div id="app"> <m:hello m:prop:name="name">click me</m:hello> </div>
JavaScript:
//启动应用 mokit({ element: document.getElementById('app'), components:{ Hello: Hello } data:function(){ return { name: '世界' }; } }).start();
支持服务端渲染