我在Vuejs中有一个数组。
overtime_rates: [];
此数组从父级到此页面。我通过v-model =“ overtime.overtime_rates”发送了它,并将其作为子项接收:
props: {
value: Array,
},
computed: {
overtime_rates: {
get() {
return this.value;
},
set(value) {
this.$emit('input', value);
}
},
},
在我的方法中,当数组为空(在创建模式下)并且我尝试将对象推送到其中时,手表工作正常,并且可以捕获任何新推送的所有更改。
let rateOT = {
startTime: {
hours: 0,
minutes: 0,
},
endTime: {
hours: 23,
minutes: 59,
},
}
this.overtime_rates.push(rateOT);
但是当我将数组保存到数据库中并进行编辑后,当我尝试编辑每条记录时,手表无法捕获更改。
手表中调用的函数是:
method: {
autoTime() {
for (let i = 1; i < this.overtime_rates.length; i++) {
if (this.overtime_rates[i - 1].endTime.minutes >= 0
&& this.overtime_rates[i - 1].endTime.minutes < 59) {
this.overtime_rates[i].startTime.minutes =
parseInt(this.overtime_rates[i - 1].endTime.minutes) + 1;
this.overtime_rates[i].startTime.hours =
parseInt(this.overtime_rates[i -
1].endTime.hours);
}
else if (this.overtime_rates[i - 1].endTime.minutes == 59) {
this.overtime_rates[i].startTime.minutes = 0;
this.overtime_rates[i].startTime.hours = parseInt(this.overtime_rates[i - 1].endTime.hours) + 1;
}
}
},
}
观看代码如下:
watch: {
value: {
handler: function () {
{
this.autoTime();
}
},
deep: true
},
请问有人可以帮助我吗?