Значение this
теряется при передаче функции. foo.bar()
устанавливает this
в foo
внутри bar
, но при сохранении / передаче значения и последующем вызове этого не происходит.
Используйте .bind
для принудительного ввода значения this
внутри timeCount
:
this.t = setTimeout(this.timeCount.bind(this), this.interval);
Или передайте другую функцию, которая вызывает timeCount
. Однако будьте осторожны, поскольку this
изменяется внутри функций, вам нужно сохранить ссылку на правильное значение this
:
var _this = this; // won't change
this.t = setTimeout(function() {
_this.timeCount(); // `_this` is the correct `this`
}, this.interval);