Как отобразить элемент, специфичный для объекта в массиве с помощью ngIf - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь предоставить конечному пользователю возможность редактировать созданное им сообщение.Я отображаю массив сообщений для них, используя Angular ngFor.Содержимое поста имеет ngIf, которое переключается, если пользователь хочет редактировать пост.

<div class="card-body">
  <p class="card-text" *ngIf="!showEditPost">{{ post.content }}</p>
  <div *ngIf="showEditPost">
    <div class="row" >
      <div class="col-md-12">
        <textarea name="text-post" [(ngModel)]="post.content" class="form-control" rows="3"></textarea>
      </div>
    </div>
    <div class="row mt-2">
      <div class="col-md-12">
        <button class="btn btn-light">Cancel</button>
        <button class="btn btn-primary" (click)="updatePost()">Save</button>
      </div>
    </div>
  </div>
</div>

Проблема, с которой я сталкиваюсь, заключается в том, что переменная showEditPost одинакова на каждой итерациимассив ngFor, что означает, что каждый пост будет доступен для редактирования, если showEditPost истинно.

У меня вопрос, как мне отредактировать конкретный пост, не делая каждый пост редактируемым одновременно.

Заранее спасибо:)

1 Ответ

0 голосов
/ 12 июня 2018

В этом случае вам нужно добавить свойство с именем showEdit к каждому объекту публикации, а затем вы можете просто сделать

<p class="card-text" *ngIf="!post.showEdit">{{ post.content }}</p>
...