我正在创建一个包含多个属性的可重用对象。我想在对象内触发一个事件,当通过赋值更改特定属性时,该事件将更新其自己的一些属性。我读过类似的东西,但他们使用的是一个对象。我怎样才能实现这个目标?
如果这是一些基本的东西,我很抱歉,但我并没有真正接受过 JavaScript 的正式培训或 JavaScript 工作原理的深入知识。
我还想补充一点,这应该在 IE11 及更高版本中工作。
我已经测试了这个方法,但不幸的是我真的不明白如何在我的案例中实现它。
Listening for variable changes in JavaScript
var test;
function myObject(){
this.dataSource = null;
this.changeEvent = function(val){
//do something inside
}
}
test = new myObject();
test.dataSource = 'dataSource'; //trigger changeEvent() inside myObject
最佳答案
创建对象时,将其包装在 Proxy 中.
The Proxy object is used to define custom behavior for fundamental operations (e.g. property lookup, assignment, enumeration, function invocation, etc).
实现set trap 执行所需的内部更改。
关于javascript - 当变量的属性改变时触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56526159/