我有一個倒計時組件和那個日期道具。我有多個類叫做定時器,在那裏我有我的方法,天,米等你明白了。我所擁有的是我的ProjectCountdown組件中的一個靜態日期。我希望能夠使用多個不同的日期,因此每個項目都有自己的倒計時。綁定日期道具到多個類
下面是代碼
ProjectCountdown.vue
<template>
<grid :position="grid">
<Countdown date="March 20, 2017 12:00"></Countdown>
</grid>
</template>
<script>
import Grid from './Grid';
import Vue from 'vue';
import Countdown from './Countdown';
export default {
components: {
Countdown, Grid
},
props: {
grid: {
type: String,
}
}
}
Vue.filter('two_digits', function (value) {
if (value.toString().length <= 1) {
return "0" + value.toString()
}
return value.toString();
});
</script>
Countdown.vue
<template>
<div id="slideshow">
<div class="timer">
<div class="title-block">
<p class="title">KNHB</p>
<p class="description">Sprint 1</p>
</div>
<div class="column">
<div class="block">
<p class="digit">{{ days | two_digits }}</p>
<p class="text">Days</p>
</div>
<div class="block">
<p class="digit">{{ hours | two_digits }}</p>
<p class="text">Hours</p>
</div>
<div class="block">
<p class="digit">{{ minutes | two_digits }}</p>
<p class="text">Minutes</p>
</div>
</div>
</div>
<div class="timer">
<div class="title-block">
<p class="title">MG de Jong</p>
<p class="description">Sprint 2</p>
</div>
<div class="column">
<div class="block">
<p class="digit">{{ days | two_digits }}</p>
<p class="text">Days</p>
</div>
<div class="block">
<p class="digit">{{ hours | two_digits }}</p>
<p class="text">Hours</p>
</div>
<div class="block">
<p class="digit">{{ minutes | two_digits }}</p>
<p class="text">Minutes</p>
</div>
</div>
</div>
<div class="timer">
<div class="title-block">
<p class="title">ITIP</p>
<p class="description">Sprint 3</p>
</div>
<div class="column">
<div class="block">
<p class="digit">{{ days | two_digits }}</p>
<p class="text">Days</p>
</div>
<div class="block">
<p class="digit">{{ hours | two_digits }}</p>
<p class="text">Hours</p>
</div>
<div class="block">
<p class="digit">{{ minutes | two_digits }}</p>
<p class="text">Minutes</p>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
props: {
date: {
type: Number
},
},
data() {
return {
now: Math.trunc((new Date()).getTime()/1000)
}
},
mounted() {
window.setInterval(() => {
this.now = Math.trunc((new Date()).getTime()/1000);
},1000);
},
computed: {
seconds() {
return (this.modifiedDate - this.now) % 60;
},
minutes() {
return Math.trunc((this.modifiedDate - this.now)/60) % 60;
},
hours() {
return Math.trunc((this.modifiedDate - this.now)/60/60) % 24;
},
days() {
return Math.trunc((this.modifiedDate - this.now)/60/60/24);
},
modifiedDate: function() {
return Math.trunc(Date.parse(this.date)/1000)
}
},
}
</script>
你就不能傳遞日期的道具,而不是硬編碼呢? –
這就是我正在做的,或者不是。 – Lucafraser
不,它在ProjectCountdown中硬編碼並在倒計時中支持。在猜測你需要(在項目中)一個道具和一個v-綁定到倒計時的道具。 –