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

朋友们用avalon做的东西
- 移动应用:读酷
- chrome插件:饭否客户端
- 为知笔记
- 金山WPS office 会员中心
- 桑夏资产官网
- 企业级应用:超博CRM客户关系管理系统(帐号:crm_ceo 密码:nncb_ceo)
- uliweb Python框架与avalon的组合示例
- avalon+jQuery实现域名注册查询
- 路由器示例
- 边锋活动页
- 记者考试题
- 基于avalonJS实现的2048
迷你MVVM框架 avalonjs 1.2发布的更多相关文章
- 迷你MVVM框架 avalonjs 0.95发布
迷你MVVM框架 avalonjs 0.95发布 本版本最主要的改进是ms-with 深层绑定的实现,至少,avalon1.0所有重要的feature已经开发完毕,之后就是小补小漏,性能优化了. ms ...
- 迷你MVVM框架 avalonjs 0.85发布
迷你MVVM框架 avalonjs 0.85发布 本版本对循环绑定做了巨大改进,感谢@soom, @limodou, @ztz, @Gaubee 提供的大量测试文件. fix scanNodes, 在 ...
- 迷你MVVM框架 avalonjs 0.82发布
迷你MVVM框架 avalonjs 0.82发布 本版本最大的改进是启用全新的parser. parser是用于干什么的?在视图中,我们通过绑定属性实现双向绑定,比如ms-text="fir ...
- 迷你MVVM框架 avalonjs 1.3发布
性能得到大幅改良的avalon1.3发布了. 修复$outer BUG 修复IE6-8下扫描加载Flash资源的OBJECT标签时,遇到它既没有innerHTML也没有getAttributeNode ...
- 迷你MVVM框架 avalonjs 0.8发布
本版本最重要的特性是引进了AMD规范的模块加载器,亦即原来mass Framework 的并行加载器, 不同之处,它引进了requirejs的xxx!风格的插件机制,比如要延迟到DOM树建完时触发,是 ...
- 迷你MVVM框架 avalonjs 0.91发布
本版本修了一些BUG与不合理的地方,感谢感谢ztz, 民工精髓, 姚立, qiangtou等人指正. 处理AMD加载 旧式IE下移除script节点内存泄漏的问题 fix firefox 全系列vis ...
- 迷你MVVM框架 avalonjs 0.92发布
本版本最大的改进是引入ms-class的新风格支持,以前的不支持大写类名及多个类名同时操作,新风格支持了.还有对2维监控数组的支持.并着手修复UI框架. 重构 class, hover, active ...
- 迷你MVVM框架 avalonjs 0.93发布
这段时间吸取@limodou, @东灵等人的意见,做了以下改进 重构isArrayLike,提高avalon.each的性能,原来avalon.each是依赖于isArrayLike来判定是循环普通对 ...
- 迷你MVVM框架 avalonjs 0.94发布
本版本主要做了如下改进: 优化ms-if的逻辑,现在描述DOM的顺序是 ms-skip, ms-important, ms-controller, ms-if ... 只要元素存在ms-skip 这个 ...
随机推荐
- 020PHP基础知识——函数(三)
<?php /** * 任何数量的参数: * func_get_args() 接收一个数组,数组里面包含所有参数 * func_num_args() 取得共有几个参数 * func_get_ar ...
- redis.conf配置文件参数说明
参数说明 redis.conf 配置项说明如下: 1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2. 当Redis以守护 ...
- openfalcon源码分析之hbs
openfalcon源码分析之hbs 本节内容 hbs功能 hbs源码分析 hbs设计优劣 1. hbs功能 hbs在整个open-falcon项目中承担的角色就是连接数据库,作为数据库缓存,缓存配置 ...
- 在ubuntu16上进行nginx+uwsgi+django部署的简要步骤
网上有很多部署教程,说了一大堆,遇到坑还是要自己一个个解决,这里有几个比较重要的坑大家一定要注意. 1.首先要安装python和python-dev环境,如果没有安装python-dev后面安装有些依 ...
- Linux升级nodejs及多版本管理
最近要用到开发要用到nodejs,于是跑到开发机运行了下node,已经安装了,深感欣慰,是啥版本呢?再次运行了下node -v,原来是0.6.x的.估计是早先什么时候谁弄的.那么来升级下node吧. ...
- Swapping eth0 and eth1 on OK335xS board
/******************************************************************************* * Swapping eth0 and ...
- rancher下的kubernetes之三:在linux上安装kubectl工具
本章是<rancher下的kubernetes>系列之三,前面两章我们完成了racher下搭建kubernetes环境的实战,本章我们来安装kubectl工具: 系列文章地址 <ra ...
- 深入php redis pconnect
深入php redis pconnect pconnect是phpredis中用于client连接server的api. API文档中的一句原文: The connection will not be ...
- .net中的Dictionary字典类的使用方法
//定义字典 Dictionary<string, string> d = new Dictionary<string, string>(); //添加字典的元素 ; i &l ...
- POI2015题解
POI2015题解 吐槽一下为什么POI2015开始就成了破烂波兰文题目名了啊... 咕了一道3748没写打表题没什么意思,还剩\(BZOJ\)上的\(14\)道题. [BZOJ3746][POI20 ...