проблема в том, что ваше вычисляемое свойство cardColor изменяется только в зависимости от значения this.status, которое является единственной переменной, указывающей c для этого компонента. В вашем коде после того, как вы выполните вызов ax ios, l oop будет проходить через все элементы, а после этого вы делаете this.status = item.updatekind
, который устанавливает статус item.updatekind, где item - последний элемент в l oop , И это значение состояния, которое используется для установки свойства cardColor.
Вам нужно рассчитать cardColor для каждого из ваших элементов. Есть несколько способов сделать это, я думаю, что наиболее простым для вас было бы сделать это в существующем коде, здесь:
if (item.updatekind == 3) {
item.updatekind = "Resolved";
item.cardColor = "green";
} else if (item.updatekind == 2) {
item.updatekind = "Working";
item.cardColor = "yellow";
} else {
item.updatekind = "Open";
item.cardColor = "red";
}
, а затем в вашем шаблоне вы можете сделать
<template>
<div
class="card-content has-background-dark has-text-light"
id="ev-card"
v-for="item in p3data.slice(0, 19)"
:key="item.p3data"
:class="item.cardColor"
>
</div>
</template>
Если вы не хотите изменять код в обещании, вы также можете использовать условные классы.
<template>
<div
class="card-content has-background-dark has-text-light"
id="ev-card"
v-for="item in p3data.slice(0, 19)"
:key="item.p3data"
:class="{
'green': item.updatekind === 'Resolved',
'yellow': item.updatekind === 'Working',
'red': item.updatekind === 'Open'
}"
></div>
</template>
Полагаю, это зависит только от ваших личных предпочтений.
Спасибо