在Polymer元素中调用函数

时间:2016-08-17 09:05:40

标签: javascript polymer polymer-1.0 firebase-polymer

我在努力调用聚合物元素中的函数。我知道你需要使用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();
  });
});

由于

1 个答案:

答案 0 :(得分:5)

应该没有()

runSoon = setTimeout(this.runNow, 12000);

这样您就可以将参考传递给函数this.runNow

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

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