VueTube/NUXT/components/Player/watchtime.vue

42 lines
901 B
Vue
Raw Normal View History

2022-05-28 05:16:27 +00:00
<template>
<div style="color: #fff; font-size: 0.75rem">
2022-06-08 16:36:32 +00:00
{{ $vuetube.humanTime(currentTime) }}
<span style="color: #aaa"> / {{ humanDuration }} </span>
2022-05-28 05:16:27 +00:00
</div>
</template>
<script>
export default {
2022-06-07 18:29:57 +00:00
props: {
2022-06-08 15:59:43 +00:00
duration: {
type: Number,
required: true,
},
2022-06-08 16:36:32 +00:00
currentTime: {
2022-06-08 15:59:43 +00:00
type: Number,
required: true,
},
2022-05-28 05:16:27 +00:00
},
data() {
return {
humanDuration: 0,
}
},
methods: {
calcDuration() {
this.humanDuration = this.$vuetube.humanTime(this.duration);
}
},
mounted() {
//--- Only call 'calcDuration()' when 'this.duration' becomes defined ---//
const durationTimer = setInterval(() => {
if (this.duration) {
this.calcDuration();
return clearInterval(durationTimer);
}
}, 100);
//--- END Only call 'calcDuration()' when 'this.duration' becomes defined ---//
}
2022-05-28 05:16:27 +00:00
};
</script>