Вызов функций внутри элемента Polymer
Я изо всех сил пытаюсь вызвать функции внутри моего полимерного элемента. Я знаю, что вам нужно использовать this.functionName();
и это работает.
но когда я был в setTimeout, вот так: runSoon = setTimeout(this.runNow(), 12000);
это работает без ожидания. Если я напишу это так: runSoon = setTimeout(function(){this.runNow()}, 12000);
это дает мне сообщение об ошибке: Uncaught TypeError: this.runNow is not a function
,
Кроме того, когда я использую this.functionName в Firebase, он работает, но в "forEach", как в этом примере, он выдает эту ошибку Uncaught TypeError: this.myFunction is not a function
:
ref.once('value', function(snapshot) {
snapshot.forEach(function(child) {
this.myFunction();
});
});
Спасибо
1 ответ
Решение
Должно быть без ()
runSoon = setTimeout(this.runNow, 12000);
таким образом, вы передаете ссылку на функцию this.runNow
runSoon = setTimeout(this.runNow(), 12000);
передает результат this.runNow()
в setTimeout(...)