# avalon **Repository Path**: michaelchou/avalon ## Basic Information - **Project Name**: avalon - **Description**: A lightweight,high-performance and easy-to-learn javascript MVVM framework - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2016-08-15 - **Last Updated**: 2024-06-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #avalon 2 基于avalon1.6内部版本研发出来,对早期版本不兼容 主要特征如下: 1. ms-*属性的行为全部统一 2. 使用虚拟DOM提高性能,确保更新是从上到下,从外到内,并且能准确知道渲染结束的时机,从而更好地支持扫描后的回调 流程如下: ``` el.outerHTML --> vtree1 --> render模板函数 --> vtree2 --> diff vtree2, vtree1 --> batch更新 ```` 3. 去掉html过滤,所有绑定属性支持过滤器 4. ms-duplex 拥有四个数据转换
ms-duplex-string 如果为null, undefined, 转换为'', 其他转字符串在其表达式后方的过滤器,除了change与debounce,都是用于格式化元素的值 change过滤器, 用于延迟数据在元素失去焦点后才同步视图 debounce(100)过滤器, 必须指定数字并大于4, 用于延迟n毫秒后才同步视图 5. 对数组元素的属性监听或子对象的属性监听更加完善 ($watch方法) 6. for指令取替旧的repeat指令, 使用ng-preatng-repeat="(k,v) in array"的风格.
ms-duplex-number 如果元素的值为'',则为'',其他情况调用parseFloat, 若结果为NaN,转0
ms-duplex-boolean 如果元素的值为'true'则转换为true,其他为false
ms-duplex-checked 根据原来元素的checked属性取反