angular - 如何将字符串参数转换为变量 TypeScript Angular 的属性
问题描述
我有这两种方法:
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
。这是开发人员的一种不好的方式,所以我想要的只是一种带有第三个参数(可能是字符串?)的方法,但我不知道该怎么做。谢谢
解决方案
遵循以下语法:
this.priceRules[id-1]['startTime']
而不是这个:
this.priceRules[id-1].startTime
IE
在这里,您可以将 '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;
}
}
推荐阅读
- javascript - 如何在 Flask 项目的 VSCode 中调试 JavaScript?
- html - 图片链接跨越整个宽度
- html - 拿不到两个
或者
在要堆叠的页脚中 - c# - SkiaSharp 触摸位图图像
- java - getClass().getResourceAsStream() 的问题
- php - 变量不从 php 函数解析
- python - 并行运行相同的函数而不阻塞其余代码 python
- python - 使用 Python 使用 Counter 重命名
- javascript - 如何用其他预期数组断言嵌套数组
- javascript - 如何使用 .map() 方法从 API 循环两个不同的数组?