我有这两种方法:
changeStartTime(event, id) {
if (event.hour >= 10 && event.minute >= 10) {
this.priceRules[id-1].startTime = event.hour+":"+event.minute;
}
else if (event.hour >= 10 && event.minute < 10) {
this.priceRules[id-1].startTime = event.hour+":0"+event.minute;
}
else {
this.priceRules[id-1].startTime = "0"+event.hour+":0"+event.minute;
}
}
changeEndTime(event, id) {
if (event.hour >= 10 && event.minute >= 10) {
this.priceRules[id-1].endTime = event.hour+":"+event.minute;
}
else if (event.hour >= 10 && event.minute < 10) {
this.priceRules[id-1].endTime = event.hour+":0"+event.minute;
}
else {
this.priceRules[id-1].endTime = "0"+event.hour+":0"+event.minute;
}
}
如您所见,它们非常相似,唯一变化的是startTime
和endTime
。这对开发人员来说是一种不好的方式,所以我想要的只是一个带有第三个参数的方法(也许是一个字符串?),但是我不知道该怎么做。谢谢
答案 0 :(得分:2)
我认为这也许可以解决您的问题,但是不确定,因为我没有看到您的 priceRules 结构。
changeTime(event, id, type) {
if (event.hour >= 10 && event.minute >= 10) {
this.priceRules[id-1][type] = event.hour+":"+event.minute;
}
else if (event.hour >= 10 && event.minute < 10) {
this.priceRules[id-1][type] = event.hour+":0"+event.minute;
}
else {
this.priceRules[id-1][type] = "0"+event.hour+":0"+event.minute;
}
}
其中'type'必须为'startTime'或'endTime'。
答案 1 :(得分:2)
遵循以下语法:
this.priceRules[id-1]['startTime']
代替此:
this.priceRules[id-1].startTime
即
在这里您可以将'startTime'和'endTime'作为changeTime函数的参数传递
changeTime(event, id, key) {
if (event.hour >= 10 && event.minute >= 10) {
this.priceRules[id-1][key] = event.hour+":"+event.minute;
}
else if (event.hour >= 10 && event.minute < 10) {
this.priceRules[id-1][key] = event.hour+":0"+event.minute;
}
else {
this.priceRules[id-1][key] = "0"+event.hour+":0"+event.minute;
}
}