У меня есть vue-приложение, но обратный отсчет не работает хорошо. На самом деле я не знаю почему.Vue.JS обратный отсчет не работает
View {{ $parent.timer }}
Я вижу хорошее значение.
Вью данные:
data: function() {
return {
timer : 3,
...
и вот мой обратный отсчет функции:
countdown : function(time,callback)
{
//time is equal 5
this.timer = time;
//this.timer is equal 5
var timerInterval = undefined;
timerInterval = setInterval(function() {
if(this.timer == 1) {
this.timer = 0;
callback();
return clearInterval(timerInterval);
}
// First time undefined, in 2nd is NaN
this.timer -= 1;
// NaN
}, 1000);
}
вызов функции:
this.countdown(data.time,function(){ //smtng });
Что я делать плохо? Его работа в моем старшем приложении Vue.
Надеюсь, кто-то может мне помочь :) Большое спасибо!
Используйте 'setInterval (() => {...}', так что ваш 'this' является который вам нужен. – nicovank