avalon1.3.8 主要是在 ms-repeat、ms-each、ms-with 等循环绑定上做重大性能优化,其次是对一些绑定了事件的指令添加了 roolback,让其 CG 回收更顺畅。
- 重构 ms-repeat、ms-each、ms-with, 内部的代理对象全部使用普通的对象实现,并且一个监控数组只对应一个代理 VM 数组,从而大量减少 VM 的数量。
- avalon 不再使用 scanCallback 实现内部各种 rendred 回调,改成 checkScan 方法。详看这里的例子。
- fix parseHTML 在旧式 IE 下动态生成 tr 元素,多添加了 caption 元素的 BUG
- getEachProxy 方法在 ms-repeat, ms-duplex 混合使用时,清空数组,某一部分元素无法同步的 BUG
- fix IE6-9 下 addClass 没有对类名进行 trim 操作的 BUG
- fix 短路与,短路或引发的收集依赖失败的 BUG
- 重构 scanAttr, fix ms-repeat 与 ms-css, ms-data 共存而漏扫的问题
- avalon.modern.js 去掉 HTML Imports 的实现,收拾大写变小写引发的 BUG
- fix date filter BUG
- fix 内部 onTree BUG,可能会引起死循环,详见这里
- fix html filter,详见 这里
- 优化 CG 回收 ms-if ms-hover ms-active 都加上 rollback 方便移除绑定
- onTree 在触发里面的事件时,针对 change blur 事件需要对 document.activeElement 进行检测
- 修正 ms-class 中的占位符的生成方式
- 修正 avalon.fn.data 取某些对象属性时被序列化的 BUG
- 修正 IE6-8 下 ms-css-float BUG
- 优化 计算属性,它再也不用收集视图刷新函数与更新视图了
- ms-repeat、ms-each、ms-with 现在完全按照供销渠道那一套来写了,所有代理 VM 的产生、消费、回收,存放通过 xxxProxyFactory、xxxProxyAgent、recycleProxies、xxxProxyPool 实现。详见这里
此外,avalon 已经使用新官网,原《入门教程》也使用新风格重写,大家有必要重看一下《入门教程》。
迷你 MVVM 框架在 github 的仓库https://github.com/RubyLouvre/avalon
avalon 的新 UI 库地址OniUI,多达 42 个 UI,强大的换肤功能
朋友们用 avalon 做的东西
最近,已经有三个百度部门(百度移动,百度商业,百度推广)在用 avalon 了,你们也快快加入吧!