# Simple-MVVM
**Repository Path**: zyallen_admin/Simple-MVVM
## Basic Information
- **Project Name**: Simple-MVVM
- **Description**: 实现一个简单的js前端MVVM框架
- **Primary Language**: JavaScript
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2019-07-04
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Simple-MVVM
实现一个简单的js前端MVVM框架
示例:
```
```
1. 指令,格式: bind-{指令}="prop,format=method"
- bind-val
- bind-attr
- bind-text
- bind-html
- bind-template
扩展指令:
```
$.controller.addDirective("val", {
init: function (observer) {
if (observer.$ele.is('input,select')) {
//监听onchange事件
observer.$ele.on('input propertychange', function () {
var newVal = $(this).val()
observer.writeValue(newVal)
})
}
},
update: function ($ele, newVal, controller) {
$ele.val && $ele.val(newVal)
}
})
```
2. 事件
语法: on-{event}="method,type=on/one"
支持的事件有:'blur','change','click','dblclick','error','focus','focusin','focusout','keydown','keypress',
'keyup','mousedown','mouseenter','mouseleave','mousemove','mouseout','mouseover','mouseup','resize','scroll',
'select','submit','unload'。
3. 后期计划
- 移除对jquery-tmpl的依赖,增加对数组的增删改操作双向绑定到dom的支持。
- 完善部分使用体验,增加指令: bind-if