在设置器中设置新值时获取旧值(javascript)

我正在尝试获取 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)

o345768478 回答:在设置器中设置新值时获取旧值(javascript)

万一有人偶然发现相同的问题,这是我的解决方法

map
本文链接:https://www.f2er.com/2893198.html

大家都在问