【问题标题】:Listening for a boolean change with Javascript/jquery (Proxy object)使用 Javascript/jquery(代理对象)监听布尔值变化
【发布时间】:2020-05-15 04:28:36
【问题描述】:

Javascript 代理未触发。我试图在 10 秒后触发一些功能。但 10 秒后,当我更新变量“dezSecondsNaPagina”时,什么也没有发生。

var dezSegundosNaPagina = new Object();
dezSegundosNaPagina.valor = false;

var targetProxy = new Proxy(dezSegundosNaPagina, {
  set: function(target, key, value) {
    target[key] = value;

    if (dezSegundosNaPagina.valor) {
      console.log("aumentar visualização");
    }
    return true;
  }
});

$(document).ready(function() {
  setTimeout(function() {
    dezSegundosNaPagina.valor = true;
    alert(dezSegundosNaPagina.valor);
  }, 3000);
});

【问题讨论】:

    标签: javascript ecmascript-2017


    【解决方案1】:

    你应该在 setTimeout 方法中使用targetProxy.valor = true;

    var dezSegundosNaPagina = new Object();
    dezSegundosNaPagina.valor = false;
    
    var targetProxy = new Proxy(dezSegundosNaPagina, {
      set: function(target, key, value) {
        target[key] = value;
    
        if (dezSegundosNaPagina.valor) {
          console.log("aumentar visualização");
        }
        return true;
      }
    });
    
    
      setTimeout(function() {
        targetProxy.valor = true;
        alert(dezSegundosNaPagina.valor);
      }, 3000);

    【讨论】:

    • A检查了几分钟,那一个从我身边经过。
    猜你喜欢
    • 2011-10-05
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    • 2017-05-16
    • 2012-11-10
    • 2012-06-25
    相关资源
    最近更新 更多