【发布时间】:2018-03-15 06:46:42
【问题描述】:
我有三个字段
小时 -- 分钟 -- 和总计
如果小时或分钟发生变化,我想计算一个总数。 如果总数发生变化,我想计算相应的分钟和小时。
例子:
1 小时 30 分钟 = 1.5 总时间
2.25 总 = 2 小时 15 分钟
我正在尝试通过手表来实现这一目标
watch: {
hour: {
handler: (new_hour, old_hour) => {
if(isNaN(new_hour)){
manual.hour = old_hour
}else{
manual.setTotal();
}
}
},
minutes: {
handler: (new_minutes, old_minutes) => {
if(isNaN(new_minutes)){
manual.minutes = old_minutes
}else{
if(Number(new_minutes) > 60){
manual.minutes = old_minutes
}else{
manual.setTotal();
}
}
}
},
total:{
handler: (new_total, old_total) => {
if(isNaN(new_total)) {
manual.total = old_total;
}else{
const hour = new_total.split(",")[0];
const minutes = new_total.split(",")[1];
manual.hour = hour;
manual.minutes = (minutes * 60).toFixed(0);
}
}
}
}
但是这会导致循环,因为 on 处理程序总是调用另一个处理程序。如何以更智能的方式做到这一点?
【问题讨论】: