Глядя на ваш код, я вижу, что вы делаете что-то интересное с RxJS, в частности с субъектом "beginEditing", но я никогда не вижу, чтобы этот субъект использовал .next()
.Мне также не ясно, как он узнал бы, что это за индекс.
Для более узкого подхода вы можете просто передать значение 'index' прямо в функцию onDelete ().Для этого в вашей директиве ngFor вы делаете следующее:
<form class="mt-3" *ngFor="let timeInput of timeInputs; i = index">
Затем, когда вы вызываете delete
<a class="dropdown-item" (click)="onDelete(i)">Delete</a>
Теперь в вашей функции onDelete у вас есть доступ к индексу
onDelete(i) {
this.ttService.deleteTimeInput(i);
}
Теперь, возможно, этот ответ вам не по вкусу, и вы бы предпочли использовать свое решение RxJS.Вам как-то понадобится, чтобы служба отправляла данные с использованием startedEditing.next(index)
, но для того, чтобы узнать, какой индекс использовать, вам, вероятно, все еще понадобится решение ngFor="let timeInput of timeInputs; i = index">
.
Дайте мне знать, если ясовершенно неправильно понял, что вам нужно!