observe.js - 用于观察任意对象的任意变化的类库,以轻巧、实用、强大而闻名

jopen 10年前

用于观察任意对象的任意变化的类库,以轻巧、实用、强大而闻名。

3分钟精通observe.js

对象字面量

var obj = { a: 1 };  //watch obj  observe(obj, function (name, value) {      console.log(name + "__" + value);//a__2   });  obj.a = 2;

数组

var arr = [1, 2, 3];  //watch obj  observe(arr, function (name, value, old) {      console.log(name + "__" + value+"__"+old);  });  arr.push(4);//array__push_4   arr[3] = 5;//3__5_4

复杂对象

var complexObj = { a: 1, b: 2, c: [{ d: [4] }] };  //watch complexObj  observe(complexObj, function (name, value) {      console.log(name + "__" + value);    //d__100   });  complexObj.c[0].d = 100;

普通对象

var User = function (name, age) {      this.name = name;      this.age = age;      //只监听name      observe(this,["name"] function (name, value, oldValue) {          console.log(name + "__" + value + "__" + oldValue);//name__wangwu__lisi       });  }  var user = new User("lisi", 25);  user.name = "wangwu";

项目主页:http://www.open-open.com/lib/view/home/1431172249101