我正在尝试获取 hoveredElement 属性的旧值,然后再进行更改,但无法使其正常工作。尝试记录它时,即使我正在更改它,它始终显示为空对象(程序按预期运行,但是我需要旧值来对其进行改进)。
let hoverEvent = {
_hoveredElement: {},oldHoveredElement: {},_listener: function(val) {},set hoveredElement(val) {
this._listener(val);
},get hoveredElement() {
return this._hoveredElement;
},registerListener: function(listener) {
this.oldHoveredElement = this._hoveredElement // ?
this._listener = listener;
}
}
hoverEvent.registerListener(function(val) {
console.log("Someone changed the value of hoveredElement to ",val); // works fine
console.log("from ",this.oldHoveredElement); // empty object
...
}
我尝试了使用新属性 oldHoveredElement 并将其设置为 registerListener 中的当前值,但这种方式行不通(问题所在的行) marik)