Проблема с удалением вновь добавленного элемента из массива - PullRequest
0 голосов
/ 26 июня 2019

Хорошо, позвольте мне объяснить, в чем моя проблема:

это мой класс компонентов :

export class DataArray implements OnInit {
    private data: string[] = [];
    addData(msg: string) {
        this.data.push(msg);
    }
    deleteMsg(index: number) {
        console.log(" that is my element which i when to remove data[index]=" + this.data[index]);
        this.data.splice(index, 1);
    }
}

Это просто два метода: один для добавления нового элемента в мой массив строк и один, чтобы удалить элемент из моего массива.

и мой компонент HTML

<div class="row" *ngFor="let element of data;let i = index">
    {{element}}
    <button class="btn btn-md btn-success" (click)="addData(element)">ADD ELEMENT
    </button>
    <button class="btn btn-md btn-danger" (click)="deleteMsg(i)">Remove ELEMENT
    </button>
</div>

Функция addData работает нормально, а также функция deleteMsg, но Дилемма возникает, когда я пытаюсь удалить недавно добавленный элемент, я не могу удалить его, он остается в массиве данных.

Если кто-нибудь может предложить решение, оно будет очень полезно для меня.

1 Ответ

0 голосов
/ 26 июня 2019

попробуйте

deleteMsg(index:number)
{
  this.data.splice(index, 1);
  this.data = [...this.data];
}
...