红联Linux门户
Linux帮助

迷你MVVM框架avalonjs 1.2发布

发布时间:2014-02-21 21:59:02来源:红联作者:empast
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做的东西:

移动应用:读酷

chrome插件:饭否客户端

为知笔记

金山WPS office 会员中心

桑夏资产官网

企业级应用:超博CRM客户关系管理系统(帐号:crm_ceo 密码:nncb_ceo)

uliweb Python框架与avalon的组合示例

avalon+jQuery实现域名注册查询

路由器示例

边锋活动页

记者考试题

来自:开源中国社区
文章评论

共有 0 条评论