Вот такой компонент есть.
<template>
<div id="stopwatch">
<span>{{formattedElapsedTime}}</span>
</div>
</template>
<script>
export default {
name: "stopwatch",
props: {
time: {
type: Number
}
},
data() {
return {
elapsedTime: 0,
timer: undefined
};
},
computed: {
formattedElapsedTime() {
let sec_num = parseInt(this.elapsedTime, 10); // don't forget the second param
let hours = Math.floor(sec_num / 3600);
let minutes = Math.floor((sec_num - (hours * 3600)) / 60);
let seconds = sec_num - (hours * 3600) - (minutes * 60);
if (hours < 10) {hours = "0"+hours;}
if (minutes < 10) {minutes = "0"+minutes;}
if (seconds < 10) {seconds = "0"+seconds;}
return hours + ':' + minutes + ':' + seconds;
}
},
created(){
this.start()
},
methods: {
start() {
this.elapsedTime = Number(this.time)
this.timer = setInterval(() => {
this.elapsedTime += 1;
}, 1000);
},
}
};
</script>
watch За пропсой и вызывать ваш метод. Если я вас правильно понял.
примерно так и понял, спасибо!
Обсуждают сегодня