Vue.js 倒计时变量(HH:mm:ss)
我解析一个日期yyy-mm-dd并计算到午夜的差值。结果将始终低于24小时,例如10:01:10-HH:mm:ss,直到过期。我想知道如何使用给定的示例实现倒计时功能Vue.js 倒计时变量(HH:mm:ss),vue.js,nativescript,nativescript-vue,Vue.js,Nativescript,Nativescript Vue,我解析一个日期yyy-mm-dd并计算到午夜的差值。结果将始终低于24小时,例如10:01:10-HH:mm:ss,直到过期。我想知道如何使用给定的示例实现倒计时功能 <template> <Label :text="date.expires | readableTime"></Label> </template> filters: { readableTime(value) { var
<template>
<Label :text="date.expires | readableTime"></Label>
</template>
filters: {
readableTime(value) {
var now = moment(new Date());
var end = moment(value);
var diff = moment.duration(end.diff(now));
try {
return moment.utc(diff.as("milliseconds")).format("HH:mm:ss");
} catch (e) {
return "00:00:00";
}
}
}
必须使用“使用计时器和反应数据”属性。我建议您保护组件数据的差异,在组件安装时启动计时器,并在销毁之前清除它
data() {
return {
diff: this.calculareDiff()
}
}
methods: {
calculareDiff() {
const now = moment(new Date());
const end = moment(this.date.expires);
this.diff = moment.duration(end.diff(now));
}
},
mounted() {
this.timer = setInterval(() => this.calculareDiff(), 1000)
},
beforeDestroy() {
clearInterval(this.timer)
}
我认为Vue.nextTick与此无关。