Javascript 对象监视
Javascript Object watch
我使用下一个代码来监视javascript对象中的更改:https://gist.github.com/eligrey/384583
我有下一个用于检查更新的代码:
var Obj = {
prop: 0,
inc: function() {
this.prop ++;
}
};
Obj.watch('prop', function(prop, oldv, newv) {
console.log(prop);
console.log(oldv);
console.log(newv);
});
单击按钮时,我递增prop
:
$("#btn").on('click', function() {
Obj.inc();
});
当我运行此代码并单击按钮时,我进入控制台:
prop
0
1
没错。
但是,当我下次单击时,我得到:
z
undefined
NaN
在线演示:http://jsbin.com/jenarapufo/2/edit?html,js,console,output
为什么?
您需要
从回调中返回新值watch
。更新您的处理程序:
Obj.watch('prop', function(prop, oldv, newv) {
...
return newv;
})
您需要从回调中返回新值:
Obj.watch('prop', function(prop, oldv, newv) {
console.log(prop);
console.log(oldv);
console.log(newv);
return newv;
});
相关文章:
- js,对象's状态监视
- Angular js 监视带有 ng-repeat 的 Select 标签上的对象数组
- Javascript 对象监视
- 如何使用 sinon.js 来模拟/监视 javascript 函数中提到的对象
- 效率 - 设置间隔与对象监视
- 使用Jasmine监视没有对象的函数
- 监视包含特殊字符作为关键字的作用域对象
- 如何使用sinon.js监视预定义的对象
- 监视具有基于表单和非基于表单的属性的对象中的更改
- Vue.js:监视对象的动态更改
- 如何在未知的父作用域上监视对象
- AngularJS忽略被监视对象中的键,或者重写$watch监听器
- 找不到一个对象来监视start()
- 使在计算值中使用的可观察对象被监视,即使在上次计算中没有使用
- Javascript中的循环/监视对象的更新
- 将作用域对象传递给可以监视和更新它的服务
- 监视所有JavaScript对象属性(魔术getter和setter)
- 有没有一种方法可以监视对象的更改
- 使用watch.js取消监视对象的问题
- AngularJS -如何在多个控制器中共享监视对象