本版本最大的改进是将视图的操作全鄣变成异步。详情如下:
- 管道符与短路与相混淆的BUG
- 重构on绑定,省得每次都重复绑定同一个事件回调。虽然addEventListener或attachEvent会忽略它,但这会造成不必要的计算。
- 如果一个函数内对VM的某一个属性重复赋值,视图更视不及时会出现BUG。这是源于纯JS操作与DOM操作需要的时间量级不一样,一次DOM操作花的时间是纯JS操作的上千倍甚至上万倍。如果多个DOM操作叠加在一起,浏览器可能忙碌不过来,因此改成异步。
本版本严重感谢网友@soom提交的测试文件,要不就不会发现这三个问题。
迷你MVVM框架在github的仓库https://github.com/RubyLouvre/avalon