私はVueJSで遊んでいて、簡単なカウンタを作成しました。 resetTimer()
関数からsetInterval()
メソッドをリセットしたいと思います。しかし、それは動作していません。私がここで何が欠けているか分からない。オブジェクトからsetInterval()をリセットする
new Vue({
el: '#app',
data: {
hours: 0,
minutes: 0,
seconds: 0,
counter: 0
},
methods: {
timer() {
setInterval(() => {
this.seconds = this.timerFormat(++this.counter % 60)
this.minutes = this.timerFormat(parseInt(this.counter/60, 10) % 60)
this.hours = this.timerFormat(parseInt(this.counter/3600, 10))
}, 1000);
},
resetTimer() {
clearInterval(this.timer())
},
timerFormat(timer) {
return timer > 9 ? timer : '0' + timer;
}
}
})
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Lean Vue</title>
</head>
<body>
<div id="app">
<p>{{ hours }} : {{ minutes }} : {{ seconds }}</p>
<button @click="timer">Start</button>
<button @click="resetTimer">Pause</button>
</div>
<script src="dist/bundle.js"></script>
</body>
</html>
しかし、私はそれが一時停止することを望んでいません。私はそれをリセットして再び0から始める –
はい、 'clearInterval'はそれをクリアします.. –
しかしそれはしません。 –