我想问一下我的编码方法中的错误是什么(但我在控制台中没有看到错误)。我的任务是,即:计算从今天到我选择的日期的天数
var data1=new Date();
new Vue({
el: "#data-tag",
data: {
dataend: " ",
datastart: " ",
deadline: " ",
milliseconds: "",
seconds: "",
minutes: "",
hours: "",
days: ""
},
methods: {
Deadline() {
this.datastart= new Date();
this.deadline=Math.abs(this.dataend-this.datastart);
this.milliseconds = this.deadline;
this.seconds = this.milliseconds / 1000;
this.minutes = this.seconds / 60;
this.hours = this.minutes / 60;
this.days = this.hours / 24;
this.days=Math.ceil(days);
console.log(this.days);
}
}
})
<div id="data-tag">
<input type="date" placeholder="дата окончания" v-model="dataend">
<div> {{days}}</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
您不需要 data() 中的许多属性来实现此目标。在您的脚本中,您基本上没有运行计数方法,在我下面给出的情况下,该方法在“dataend”属性更改时启动,在手表中我跟踪并运行该方法。我在下面附上了一个工作示例。
PS赋值的时候,
"this.days = abs/msPerDay"可以将数值四舍五入(\u200b\u200b用Math.round/ceil,随意)你让它变得非常困难。