属性操作是DOM操作很大的一块,它包括类名操作,表单元素的value属性操作,元素固有属性的管理,元素自定义属性的管理,某些元素的一些布尔属性的操作。大多数情况下,元素属性的值是字符串类型,我们称之为字符串属性,但有一些属性的是布尔,也存在是数字类型、节点引用的情况。当前jQuery处理 ...
avalon的ViewModel对象从其内部EventManager里继承了三个方法, watch unwatch fire三个方法,它们就是我们本节的主题。 词如其名,非常直白,一看就知道做什么。我们先从 watch方法说起,它能监听当前的VM第一层的监控属性 与 计算属性,如果某属性是一个对象,想监控其子孙属性,就需要定位到此对象上使用 watch回调了。 watch回调会默认传入先后两个属性 ...
2014-10-10 16:56 5 3382 推荐指数:
属性操作是DOM操作很大的一块,它包括类名操作,表单元素的value属性操作,元素固有属性的管理,元素自定义属性的管理,某些元素的一些布尔属性的操作。大多数情况下,元素属性的值是字符串类型,我们称之为字符串属性,但有一些属性的是布尔,也存在是数字类型、节点引用的情况。当前jQuery处理 ...
在MVVM框架中,你都会看到页面定了许多奇怪的属性,比如knockout的data-☆,angular的ng-☆,avalon的ms-☆,此外还有一些只写文本节点上的双花括号,它们统称为指令。ms-☆由于定义在元素节点上,是一个特性节点(Attribute),因此称为绑定属性。 双花括号称之为插值 ...
一个项目是由许多人分工写的,因此必须要合理地拆散,于是有了模块化。体现在工作上,PM通常它这为某某版块,某某频道,某某页面。某一个模块,必须是包含其固有的数据,样式,HTML与处理逻辑。在jQuery时代,奉行的是“无侵入式javascript”,页面虽然是拆成一块块,但最后是通过PHP等后端模板 ...
avalon的过滤器是参考自angular与rivets。它也被称做管道文本过滤器,它的处理对象只能是文本(字符串),它只能用在文本绑定中,并且只能是双花括号形式。下面是各大家的过滤器比较: riv ...
avalon最早发布于2012.09.15,当时还只是mass Framework的一个模块,当时为了解决视图与JS代码的分耦,参考knockout开发出来。 它的依赖收集机制,视图扫描,绑定的命名data-*都与knockout差不多。它总共900行。 当时的理论体现在我在注释的这一段 ...
avalon的双向绑定机制,是通过一条依赖链实现。此依赖链最底层是监控属性、监控数组,中层是计算属性、监控函数,再上点是求值函数,最上层是视图刷新函数。 所谓计算属性,监控属性,监控函数属性,我们改变它们的值,它们会引发视图变化;而监控数组,是我们调用它的一些方法,也会引发视图变化 ...
ms-class是avalon用得最多的几个绑定之一,也正因为如此其功能一直在扩充中。根据时期的不同,分为旧风格与新风格两种。 旧风格是指ms-class-xxx=”expr”,*ms-class-aaa-bbb=”expr”*。正如第三节《绑定属性与扫描机制》所讲,一个绑定属性分成三部 ...
avalon是国内最强大的MVVM框架,没有之一,虽然淘宝KISSY团队也搞了两个MVVM框架,但都无疾而终。其他的MVVM框架都没几个。也只有外国人与像我这样闲的架构师才有时间钻研这东西。我很早之前就预言,MVVM是前端的终极解决方案。我之前在盛大无线做盛大通行证就深有体会,一个业务逻辑对应 ...