Возникла проблема при отображении индекса директивы * ngFor для конкретного случая использования следующим образом.
Допустим, у нас есть массив объектов как
this.temp = [
{name:'John',age:24,visibility:'visible',
{name:'Kane',age:26,visibility:'hidden',
{name:'Ross',age:28,visibility:'visible',
{name:'Lui',age:21,visibility:'visible'
]
Для рендеринга в моем файле app.component.html у меня есть html следующим образом
<div *ngFor="let user of temp; let i = index">
<div *ngIf="user.visibility === 'visible' ">
<div>{{i+1}}</div>
<div>{{user.name}}</div>
</div>
</div>
Так, в соответствии с приведенным выше примером массива, он отображает пользователей
1.John
2.Ross
3.Lui
Теперь в моем пользовательском интерфейсе есть имя кнопки «Изменить видимость» для каждого пользователя, где оно переключает состояние видимости пользователя со «скрытого» на «видимый» и наоборот.
Таким образом, нажав на кнопку, упомянутую против Джона, он установит видимость как
скрытый, но отображаемый пользовательский интерфейс
2.Ross
3.Lui
Мой ожидаемый результат -
1.Ross
2.Lui
Как правильно сделать индекс рендеринга?
Сценарий использования здесь заключается в том, что я не могу изменить / изменить свой массив this.temp с точки зрения длины. В основном мне нужен весь массив с измененным в нем только свойством видимости в соответствии с действиями пользователя.
Пожалуйста, помогите.