I'm trying to Remove an element from object array according to one of its properties, in Angular 2.
How can I implement the removeItem
function so it will remove the comment
object from the array according to its id property and thus remove it from the list ?
Here's the HTML template (loops with ngFor
for all comments):
<div *ngFor="let comment of list">
<button (click)="removeItem({{comment.id}})">delete</button>
(... comment.... )
....
Here the Angular 2 code:
export class Comments {
list =
[new Comment(1, "text one", "koby", new Date("2015.01.02")),
new Comment(2, "text two", "adim", new Date("2017.02.02")),
new Comment(6, "text six", "asaf", new Date("2016.11.04"))
];
addItem(val: string) {
this.list.push(new Comment(3, "kokoko", "kobydo", new Date("2015.01.02")));
}
removeItem(id: number) {
// How do I remove it from the array ?
}
}
export class Comment {
constructor(
public id: number,
public text: string,
public creator: string,
public date: Date
) { }
}
You can .filter()
it:
removeItem(id: int) {
this.list = this.list.filter(item => item.id !== id);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With