avalonJS是司徒正美开发和维护的前端mvvm框架,可以轻松实现数据的隔离和双向绑定,相比angularJS等前端框架它有如下优势:1.压缩后仅有60多kb,而angular的min版是2MB左右(无视其gzip版);2.兼容IE6+,符合天朝市场需求;3.效率更高,跑起来比angular和kn...
分类:
Web程序 时间:
2014-10-31 18:43:12
阅读次数:
430
SPA的成功离开不这三个东西,分层架构,路由系统,储存系统。分层架构是我们组织复杂代码的关键,这里特指MVVM的avalon;路由系统是将多个页面压缩在一个页面的关键;储存系统特指本地储存,是安全保存大量数据的关键。本章节介绍的是avalon三柱臣之一的mmRouter(内含mmHistory)。我...
分类:
Web程序 时间:
2014-10-28 15:14:34
阅读次数:
305
本版本是一次重要的升级,考虑要介绍许多东西,也有许多东西对大家有用,也发到首页上来了。本来是没有1.36的,先把基于静态收集依赖的1.4设计出来后,发现改动太多,为了平缓升级起见,才减少了一部分新特性,做成1.36。因此是先有1.4,才有1.36。本版本针对公司(去哪儿网,毕竟是带薪在公司里搞这框架...
分类:
Web程序 时间:
2014-10-14 17:18:30
阅读次数:
245
本章节,主要是介绍avalon.config方法,通过它来制定一些更贴心的功能。一般情况下,我们在使用ms-controller绑定时,需要添加一个ms-controller类名,目的是为了防止网速慢时将花括号暴露出来。 avalon入门 ...
分类:
Web程序 时间:
2014-10-13 14:20:49
阅读次数:
181
avalon的过滤器是参考自angular与rivets。它也被称做管道文本过滤器,它的处理对象只能是文本(字符串),它只能用在文本绑定中,并且只能是双花括号形式。下面是各大家的过滤器比较:rivetsjsangularjs{{ "lower cap string" | uppercase }}{{...
分类:
Web程序 时间:
2014-10-11 13:05:25
阅读次数:
307
avalon的ViewModel对象从其内部EventManager里继承了三个方法,$watch、$unwatch、$fire三个方法,它们就是我们本节的主题。词如其名,非常直白,一看就知道做什么。我们先从$watch方法说起,它能监听当前的VM第一层的监控属性 与 计算属性,如果某属性是一个对象...
分类:
Web程序 时间:
2014-10-10 19:06:44
阅读次数:
217
之前的章节许多示例代码也或多或少地展示了如何使用ms-click来绑定事件了。能直接在模板上绑定是事件,这也是静态模板与动态绑定的一大区别。ms-click不是简单的onclick的别名,它在内部屏蔽了浏览器的差异,并且对许多浏览器暂时不支持的事件做了兼容处理。总的来说,事件绑定是使用ms-on-☆...
分类:
Web程序 时间:
2014-10-09 14:30:13
阅读次数:
262
稍为复杂一点的网站都是多个前端工程师合作而成,因此分工是必需的。简单一点的分工就是一个人负责一个频道,某个页面是由一个人全部做的;但如果涉及到一个页面非常复杂,需要多个人同时动工呢?于是到模板的出场时间了。模板有两种,一种是嵌入到页面内的模板,一种是独立成子页面的模板。这两种avalon都支持。前者...
分类:
Web程序 时间:
2014-09-28 16:53:43
阅读次数:
276
avalon是通过ms-repeat实现对一组数据的批量输出。这一组数据可以是一个数组,也可以是一个哈希(或叫对象)。我们先从数组说起吧。第二节就说,凡是定义在VM中的数组,如果没有以$开头或者没放在$skipArray数组里,都会转会监控数组。监控数组其实就是一个被重写了push、unshift、...
分类:
Web程序 时间:
2014-09-25 14:20:49
阅读次数:
447
一般情况下我们通过设置类名就可以改变元素的样式,但涉及到动画部分,就一定需要设置内联样式了,因此有了ms-css。*ms-css*的用法为ms-css-样式名="样式值", 如ms-css-width=”prop”(会自动补px),ms-css-height=”{{prop}}%”, ms-css-...
分类:
Web程序 时间:
2014-09-22 13:34:52
阅读次数:
245