不幸的是,使用parseInt()
函数计算秒数到分钟并不适合我使用VueJS。我使用以下方法从秒开始计算分钟数:
parseInt(this.seconds / 60, 10) % 60
但是,this.seconds
值始终在0
秒后返回59
,而不是60
,因此parseInt()
函数始终返回0
。我现在运气不好。以下是完整代码:
new Vue({
el: '#app',
data: {
hours: 0,
minutes: 0,
seconds: 0
},
methods: {
timer() {
setInterval(() => {
this.seconds = ++this.seconds % 60
this.seconds = parseInt(this.seconds / 60, 10) % 60
}, 1000);
}
}
})
答案 0 :(得分:0)
你可以用这个速记表达式替换this.seconds
吗?
this.seconds === 0 ? 60 : this.seconds
答案 1 :(得分:0)
我能够自己解决这个问题。我正在更改原始seconds
值,这导致问题计算`分钟。所以,我使用了一个不同的变量来存储循环计数并计算分钟:
new Vue({
el: '#app',
data: {
hours: 0,
minutes: 0,
seconds: 0,
counter : 0
},
methods: {
timer() {
setInterval(() => {
this.seconds = ++this.counter % 60
this.minutes = parseInt(this.counter / 60, 10) % 60
}, 1000);
}
}
})