本文将深入介绍一下avalon的运作机理及与jQuery的区别。 许多人都知道MVVM是MVC的一个变体,但那些MVC是在后端的,包括微软的WPF,这意味着这个V与我们前端接触到的V差别很大。后端的V就是使用各种模板拼凑成一个静态页面给前端。而前端的V在JSer的眼中就是一个巨大的DOM树 ...
最近有许多人问我怎么用这东西,如果是那些用过knockout的人还好,之前没有接触过MVVM的人可能一头雾水。大多数人被我那个jquery ui的演示吸引过来,都深感它的威力之大。 这里详细介绍一下它的用法吧。 第一步,当然是引入avalon库,就像引入jQuery库那样,当然要从官网下。现在avalon的地址为这个,只要这个文件就好了,当然旁边还有个avalon min.js。 第二步,是创建V ...
2013-05-17 18:55 10 3398 推荐指数:
本文将深入介绍一下avalon的运作机理及与jQuery的区别。 许多人都知道MVVM是MVC的一个变体,但那些MVC是在后端的,包括微软的WPF,这意味着这个V与我们前端接触到的V差别很大。后端的V就是使用各种模板拼凑成一个静态页面给前端。而前端的V在JSer的眼中就是一个巨大的DOM树 ...
avalon最早发布于2012.09.15,当时还只是mass Framework的一个模块,当时为了解决视图与JS代码的分耦,参考knockout开发出来。 它的依赖收集机制,视图扫描,绑定的命名data-*都与knockout差不多。它总共900行。 当时的理论体现在我在注释的这一段 ...
avalon是国内最强大的MVVM框架,没有之一,虽然淘宝KISSY团队也搞了两个MVVM框架,但都无疾而终。其他的MVVM框架都没几个。也只有外国人与像我这样闲的架构师才有时间钻研这东西。我很早之前就预言,MVVM是前端的终极解决方案。我之前在盛大无线做盛大通行证就深有体会,一个业务逻辑对应 ...
avalon之所以能在页面处理1W个绑定(angular对应的数字是2000),出于两个重要设计——基于事件驱动的双向绑定链及智能CG回收机制。 avalon的双向绑定链是通过Object.defineProperties及VBScript,将要操作VM属性变成一种访问器属性。访问器属性是一种 ...
本章节,主要是介绍avalon.config方法,通过它来制定一些更贴心的功能。 一般情况下,我们在使用ms-controller绑定时,需要添加一个ms-controller类名,目的是为了防止网速慢时将花括号暴露出来。 <!DOCTYPE html> <html> ...
很多时候,写代码就像砌砖头,只要我们不关心盖楼的原因、建筑的原理、土木工程基础和工程经验,就算我们砌了100栋高楼,我们也就只是一个砌砖工人,永远也成为不了一个工程师,更别说建筑师了。而那些包工头也只会把我们当成劳动力罢了。——左耳朵耗子 avalon在兼容旧式IE上做了大量工作 ...
新官网 请不要无视这里,这里都是链接,可以点的 OniUI组件库 学习教程 视频教程: 地址1 地址2 关于AvalonJs 开始的例子 扫描 视图模型 数据模型 绑定 作用域绑定(ms-controller ...
本教程将介绍avalon的高级特性 date过滤器的使用, 这个与angular的date过滤器的使用方法差不多,{{xxx|date("yyyy MM d")}} $watch监听,相当于把监控属性变成一种事件,当它变化时,就执行它绑定的回调。vm.$watch("firstName ...