avalon2.1.15发布

本次更新包括:简化组件类型声明方式,增强普通vm支持onDispose生命周期钩子,新增norequire验证规则等。同时修复了组件元素检测逻辑及IE6-8下定义VM时的错误。

这是一个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 或是到这里下载

https://github.com/RubyLouvre...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值