Может ли кто-нибудь помочь мне с некоторым кодом, у меня есть массив объектов с разными данными в нем, а затем я отображаю его в таблице, используя * ngfor, поэтому теперь я хочу написать код, который будет проверять, меньше ли delivery_to текущего времени он должен сделать этот ряд красным. поэтому для каждой строки, для которой delivery_to меньше текущего времени, он должен стать красным. вот мой массив объектов
Вот что я пробовал, но по какой-то причине он стал красным
var array1 = [{
"order_id": "241918",
"customer_name": "Marietjie",
"customer_surname": "Short",
"total_items": "44",
"completed_items": "17",
"percent_complete": "38.64",
"datetime_received": "2018-07-25 15:18:25",
"delivery_date": "2018-10-29",
"delivery_from": "12:00",
"delivery_to": "13:00",
"completed": "0",
"shopper": "joel"
},
{
"order_id": "281774",
"customer_name": "Ashleigh",
"customer_surname": "Hodge",
"total_items": "16",
"completed_items": "0",
"percent_complete": "0.00",
"datetime_received": "2018-10-04 15:59:19",
"delivery_date": "2018-10-29",
"delivery_from": "12:00",
"delivery_to": "13:00",
"completed": "0",
"shopper": null
},
{
"order_id": "232777",
"customer_name": "Charisse",
"customer_surname": "Bowles",
"total_items": "30",
"completed_items": "0",
"percent_complete": "0.00",
"datetime_received": "2018-07-24 17:28:22",
"delivery_date": "2018-10-29",
"delivery_from": "16:00",
"delivery_to": "17:00",
"completed": "0",
"shopper": null
}
]
array1.forEach(function(element) {
if (element.delivery_to === "17:00") {
colortest = 'red';
}
});Вы упоминаете * ngfor, но нет кода, специфичного для html или angular. пожалуйста, предоставьте минимальный воспроизводимый пример



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


У вас есть 2 варианта здесь
вариант 1 - создать директиву для сравнения 2 разных раза
вариант 2 - использовать цикл в контроллере, например
you will need moment.js here
for(var i = 0; i< array1.length; i++) {
if (array1[i].delivery_to <= moment(new Date()).format(hh:mm)) {
array1[i].isRedClass = true;
}
}
и в теге tr
<tr ng-repeat = "array in array1" ng-class = "{'redColor':array.isRedClass == true}">
и в css
.redColor{
color:red;
}
попробуйте использовать так, используя *ngFor
<ul>
<li *ngFor = "let item of array1" [ngStyle] = "{'color': getColor(item)}">{{ item.customer_name }}</li>
</ul>
в компонент добавить функцию getColor()
getColor(item) {
if (item.customer_name == "Ashleigh"){
return 'red';
}
return 'blue'
}
вы должны придумать хотя бы попытку, а затем опубликовать свои проблемы, если вы столкнетесь с ними