angular - Angular - 单击该项目从数组中删除项目
问题描述
我正在学习 Angular(具体来说是 v6),并尝试构建一个简单的待办事项列表。
我能够将项目添加到数组并显示在列表中,但无法弄清楚如何在单击该项目时删除特定项目。
当前代码在单击时删除整个数组。这是我的代码:
app.component.html
<h1>To Do List</h1>
<label for="">What do you need to to?</label>
<input type="text" [(ngModel)]="listItem">
<br>
<button (click)="addToList()">Add</button>
<hr>
<ul>
<li *ngFor="let toDo of toDoList" (click)="removeFromList($event)">{{ toDo }}</li>
</ul>
app.component.ts
export class AppComponent {
title = 'to-do-list-app';
listItem = '';
toDoList = [];
addToList() {
this.toDoList.push(this.listItem);
}
removeFromList(addedItem) {
this.toDoList.splice(addedItem);
}
解决方案
将项目索引传递给splice
并指定要删除的一项:
<li *ngFor="let toDo of toDoList; let i = index" (click)="toDoList.splice(i, 1)">
请参阅此 stackblitz以获取演示。
推荐阅读
- sql-server - SQL Server 中的游标花费太多时间来处理 3500 万条记录
- excel - VBA - 根据单元格值取消隐藏行
- python-3.x - 如何在 Python 中的终端密码提示中输入密码
- python - 如何切片数组以排除一行?
- neo4j - 计算在整个图上执行的 2 个节点之间的双向边
- java - 如何在 Java 的 Web 服务中为每个 API 调用特定的方法?
- angular - 反应式表单:如何在 Angular 7/8/9 中稍后将新的 FormGroup 或 FormArray 添加到现有的 FormGroup 中
- android - Android改变路径在画布中的位置
- google-chrome-devtools - Google Chrome Devtools 未正确显示亮点
- rust - 获取分区函数中项目的索引