javascript - 当变量的属性改变时触发事件

标签 javascript

我正在创建一个包含多个属性的可重用对象。我想在对象内触发一个事件,当通过赋值更改特定属性时,该事件将更新其自己的一些属性。我读过类似的东西,但他们使用的是一个对象。我怎样才能实现这个目标?

如果这是一些基本的东西,我很抱歉,但我并没有真正接受过 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/

相关文章:

javascript - 当没有文本输入聚焦时检测空格键按下

javascript - 如果视频正在加载(缓冲),则显示带有加载 GIF 图像的 HTML5 视频

javascript - jQuery Mobile 等待页面 ListView 加载

javascript - 选择 "Other"时下拉添加输入

Javascript 排序自定义比较器函数 - 对已排序的数组进行排序

javascript - 如何创建一个组件,我可以在 Angular 2 的属性中设置获取 url 数据

javascript - 请有人解释一下 eloquent 中这个示例的绑定(bind)函数的工作原理

javascript - 如何console.log http响应?

javascript - 悬停在多个框上的效果

javascript - 如何使用 vba 从 Datastore.prime 中抓取数据