Я использую [ngClass]
в зависимости от условий использования indexOf
.Я использую класс disabled
, если результат indexOf
не равен -1.Если он равен -1, я использую enabled
класс.Мой код выглядит следующим образом:
<a (click)="selectLocationId(location.pk_location_id, location.locationname, location.locationcode)"
[ngClass]="{
'disabled' : disabledLocations.indexOf(location.pk_location_id)!= -1,
'enabled' : disabledLocations.indexOf(location.pk_location_id) === -1
}">
{{ location.locationname + location.pk_location_id + disabledLocations[0]}}
</a>
С этим кодом он возвращает результат indexOf
как -1, даже если значение существует в массиве.Поскольку я должен передавать значение в кавычках, если я помещаю кавычки, он выдает следующую ошибку:
Ошибки синтаксического анализа шаблона: неожиданный символ "EOF" (у вас есть неэкранированный "{" в вашем шаблоне?Используйте "{{'{'}}"), чтобы избежать его.) ("**
Я пробовал следующие способы, но получаю ту же ошибку:
1)
[ngClass]="{
'disabled' : disabledLocations.indexOf(""+location.pk_location_id+"")!= -1,
'enabled' : disabledLocations.indexOf(""+location.pk_location_id+"") === -1
}">
{{ location.locationname }}
</a>
2)
[ngClass]="{
'disabled' : disabledLocations.indexOf("'"+location.pk_location_id+"'")!= -1,
'enabled' : disabledLocations.indexOf("'"+location.pk_location_id+"'") === -1
}">
{{ location.locationname }}
</a>
3)
[ngClass]="{
'disabled' : disabledLocations.indexOf("location.pk_location_id")!= -1,
'enabled' : disabledLocations.indexOf("location.pk_location_id") === -1
}">
{{ location.locationname }}
</a>
4)
[ngClass]="{
'disabled' : disabledLocations.indexOf('location.pk_location_id')!= -1,
'enabled' : disabledLocations.indexOf('location.pk_location_id') === -1
}">
{{ location.locationname }}
</a>
Как решить эту проблему?