Это потому, что логическое значение является примитивом, что означает, что вы просто присваиваете значение при объявлении массива. Это не присваивает ссылки на логические переменные, поэтому они не обновляются автоматически в объектах массива.
Вам придется вручную обновлять логические значения объектов массива, если вы намерены сохранить эту структуру.
Исходя из того, что, как я полагаю, вы захотите, вы должны изменить функцию на:
toggleMe(name: string){
if (name === 'FAILED') {
this.failed = !this.failed;
this.locoStateItem[0].isSelected = this.failed;
}
else if(name === 'SELFTESTED'){
this.selftest = !this.selftest;
this.locoStateItem[1].isSelected = this.selftest;
}
}
Я не уверен, что подразумевается под этим методом, но из того, что я могу сказать из вашего вопроса, это должно быть функционально.