#angular
#angular
Вопрос:
У меня есть массив, содержащий 3 объекта. Я хочу удалять первый объект при каждом нажатии.Когда я нажимаю кнопку, удаляется только первый объект, мне нужно каждый раз удалять первый объект из обновленного результата массива. Вот код ниже https://stackblitz.com/edit/angular-nuwwva?file=src/app/app.component.html
app.component.ts
import { Component, OnInit } from "@angular/core";
@Component({
selector: "my-app",
templateUrl: "./app.component.html",
styleUrls: ["./app.component.css"]
})
export class AppComponent {
name = "Angular";
ngOnInit() {}
clickhere() {
const arraydata = [
{ name: "name1", value: 1 },
{ name: "name2", value: 2 },
{ name: "name3", value: 3 }
];
arraydata.splice(0, 1);
console.log(arraydata);
}
}
app.component.html
<button type="button" (click)="clickhere()">Click Me!</button>
Комментарии:
1. Почему вы не используете
shift
? w3schools.com/jsref/jsref_shift.asp2. поскольку здесь первый объект, который является динамическим в моем проекте, shift удалит только первый элемент. Первый объект также может быть вторым
3.
I want to remove first object every click
-> вот чтоshift
делает.
Ответ №1:
Это должно сработать:
import { Component, OnInit } from "@angular/core";
@Component({
selector: "my-app",
templateUrl: "./app.component.html",
styleUrls: ["./app.component.css"]
})
export class AppComponent {
name = "Angular";
arraydata = [];
ngOnInit() {
this.arraydata = [{ name: "name1", value: 1 },
{ name: "name2", value: 2 },
{ name: "name3", value: 3 }
}];
clickhere() {
this.arraydata.splice(0, 1);
console.log(arraydata);
}
}
С уважением
Комментарии:
1. Спасибо за ваш ответ, я хочу тот же результат, но с использованием без глобальной переменной