2019独角兽企业重金招聘Python工程师标准>>>
一.首先来看一段代码
上述是一个非常简单的例子
在一个HTML元素中,可被观察的属性或者状态如下。
childList:子元素的变动。
attributes:属性的变动。
characterData:节点内容或节点文本的变动。
subtree:所有
二。我们也要知道的一点是,一个对象也可被多个观察者观察!
~~~~~~~~~~~~~~~~~~~~~~~2014-11-29日更新~Observer~~~~~~~~~~~~~~~~~~~~~~~~~
Object.observe方法用于观察对象属性的变化。
var o = {};
Object.observe(o, function(changes) { changes.forEach(function(change) { console.log(change.type, change.name, change.oldValue); }); });
o.foo = 1;
// add, 'foo', undefined
o.foo = 2;
// update, 'foo', 1
delete o.foo;
// delete, 'foo', 2
对于KVO的用法,相信学习IOS的人活着学过java观察者模式的人比较了解,通过这些UI状态的变化,我们可以更新各种数据,在MVC->MVP->MVVM的过程,“
基于数据的驱动”取代“基于事件的驱动”是一种非常好的设计里面,C# +wpf就是这种理念,当然js也有,android也有。