在 Polymer 元素中调用函数

Calling functions within Polymer element

我很难在我的聚合物元素中调用函数。我知道您需要使用 this.functionName();,它有效。

但是当我在这样的 setTimeout 中时:runSoon = setTimeout(this.runNow(), 12000); 它无需等待即可运行。 如果我这样写:runSoon = setTimeout(function(){this.runNow()}, 12000); 它会给我一条错误消息:Uncaught TypeError: this.runNow is not a function.

此外,当我在 Firebase 中使用 this.functionName 时它可以工作,但在 "forEach" 中,就像在这个例子中一样,它给出了我的错误 Uncaught TypeError: this.myFunction is not a function:

ref.once('value', function(snapshot) {
  snapshot.forEach(function(child) {
    this.myFunction();
  });
});

谢谢

应该没有()

runSoon = setTimeout(this.runNow, 12000);

这样你就传递了函数的引用this.runNow

runSoon = setTimeout(this.runNow(), 12000);

this.runNow()的结果传递给setTimeout(...)