双向数据绑定可能是AngularJS最酷最实用的特性,将MVC的原理展现地淋漓尽致。
所谓的双向绑定:从界面的操作能实时反映到数据,数据的变更能实时展现到界面。
它的原理就是angular的脏检查机制(dirty checking):angular对常用的事件(DOM事件,xhrshijian ,location变更事件)做了封装,它给每个需要绑定的元素加一个watcher,缓存oldvalue,在指定的事件触发后,进入angular的digest流程,在digest流程里遍历所有的watcher,比较newValue和oldValue,如果变化了做更新操作。