迷你MVVM框架 avalonjs 1.2发布

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的最佳实践或注意点请看这里, 这个我每次发布新版本都可能在这里加东西


迷你MVVM框架 avalonjs 1.2发布

朋友们用avalon做的东西

如果您觉得这文章对您有帮助,可以打赏点钱给我,鼓励我继续写博,我的支付宝

迷你MVVM框架 avalonjs 1.2发布

上一篇:最流行的JavaScript代码规范


下一篇:原生js--addEventListener和attachEvent的区别