迷你MVVM框架 avalonjs 1.2 发布

qinerg
 qinerg
发布于 2014年02月21日
收藏 81

avalon1.2 带来了许多新特性,让开发更轻松!详见如下:

  • 升级路由系统与分页组件。

  • 对ms-duplex的绑定值进行增强,以前只能prop或prop.prop2,现在可以prop["xxx"]、prop[prop2]。换言之,添加对数组法对子属性的支持。详见这里

  • ms-duplex支持用JS修改input.value触发oninput事件(实现旧式IE下onpropertychange的功能),实现大量第三方组件都会操作input.value,有了这功能,我们就不需要写额外回调实现对VM对应属性的同步,从而加强与第三方组件的整合能力。详见这里这里

  • 让ms-repeat, ms-with在目标都是对象的情况下支持data-with-sorted回调。详见这里

  • 添加data-widget-defined回调,this指向绑定元素,参数为新生成的VM对象。详见这里

  • avalon在移除ms-controller, ms-important绑定的同时,现在会移除与其同名的类名,这是为了兼容IE6。(关于网速慢,{{}}插值表达式暴露出来的问题, 我们可以定义这样一个样式规则进行处理[ms-controller],[ms-important]{display:none} 为有点类于angularjs的ng-cloak指令,在扫描之前起着羞丑布的作用。对于IE6不支持属性选择器的问题,只能手动处理,或使用ms-text来代替{{}},这视你的用户群体决定了——avalon最佳实践

  • 重构parseExpr内部方法。

  • 重构AMD加载器获取相对于父路径的逻辑。这里

  • 重构parseData内部方法。详见这里

  • avalon.require.text模块尝试使用HTML Imports技术加载子页面与模板文件。详见这里

  • fix ms-if 当第一次没有定义某属性进行隐藏后,然后再替换整个对象,让它拥有此属性时,注释节点重复生成引发的BUG。 详见这里

  • fix nextTick在IE6下崩溃的BUG。详见这里

  • fix DOMReady在移动端如果网速过慢,不会触发的BUG。详见这里

  • 移除为input添加name的特性。因为浏览器会提交拥有name属性并且没有定义disabled属性的表单元素。私自为它添加name,会打破用户原来的意图。详见这里

迷你MVVM框架在github的仓库https://github.com/RubyLouvre/avalon

官网地址http://rubylouvre.github.io/mvvm/

有关avalon的最佳实践或注意点请看这里, 这个我每次发布新版本都可能在这里加东西。

使用avalon做的东西:

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:迷你MVVM框架 avalonjs 1.2 发布
加载中

最新评论(21

qinerg
qinerg
mvvm是一种思想,不深入其中不会了解它的好处
雪之舞
真心不喜欢这种在html上加各种自定义属性的东东
sikele
sikele

引用来自“岭南才子”的评论

这类只能在内网使用,跟angular一样,太重了。第一次打开页面下载几百K的身躯。不如jquery轻巧与速度。
请你下载一次再说几百k行么?而且和jquery没法比较不是同一种东西。
Marson幂次
Marson幂次
耐心看了,试了下,准备在项目用一下。真心好用。
许雷神
许雷神
从司徒正美处得知,想试试
lost_o0
lost_o0

引用来自“岭南才子”的评论

这类只能在内网使用,跟angular一样,太重了。第一次打开页面下载几百K的身躯。不如jquery轻巧与速度。
和jquery完全两个东西
北落
北落
avalonjs跟jquery就是完全的两种实现思想,拿两者来对比的都是臭流氓。
kenzr
kenzr
angular 群的广州 ken 发来贺电
liubaoxiong
liubaoxiong
关注,希望能坚持下去。
返回顶部
顶部