在 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(...)
我很难在我的聚合物元素中调用函数。我知道您需要使用 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(...)