这是一个FIX BUG的小版本,但也添加了三个重要的功能。即
一. xmp, wbr, template可以直接使用is属性代替ms-widget来申明组件类型。想当于把原来的is配置项提了出来。 如果还要申明其他配置项,还是需要ms-widget配置对象。
<xmp :widget="{is:'ms-button'}"></xmp> 可以简化为
<xmp is="ms-button"></xmp>
二. 普通vm也支持onDispose生命周期钩子。
avalon.ready(function(){
avalon.define({
$id: 'test',
aaa: 111
})
vm.$watch('onReady', function(){
//页面上每个ms-controller, ms-important元素
//在其区域内的所有ms-*指令被扫描后会执行
})
//2.1.15起支持
vm.$watch('onDispose', function(){
delete avalon.vmodels[vm.$id)
if(avalon.scopes){
delete avalon.scopes[vm.$id)
}
})
avalon.scan(document.body)
})
三. 添加norequire验证规则
其他就是fix BUG与重构。 在过去半个月中, 进行着 新diff重构, 策略模块重构及组件模块重构这三大任务。 步伐迈得太大就容易扯蛋。结果只完成策略模块重构这一项。此外for的parse方法,component的init方法,attr的diff方法, controller的parser方法,也在这次升级中完成。重构会让代码更高精悍易读。
修了两个BUG,一个是检测组件元素被移出DOM时的检测逻辑,另一个是IE6-8下定义VM时使用VBScript偶尔会出现的“变量已经定义”的错误。
现在avalon源码可以使用rollup来打包了,说明其模块划分已经非常合理。
代码测试覆盖率达到92%。许多覆盖不了的是IE6-8的if, else分支。
下一次升级还继续剩余的两个任命及打算引入es2015的模块定义。
大家可以直接npm install avalon2 或是到这里下载
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。