0
私は奇妙な問題があります。何らかの理由でspliceは配列から最後の要素を削除します。alert
は正しいインデックスを返します。角4スプライスは常に配列から最後の要素を削除します
onRemove()
は削除方法です。
<button (click)="onAdd()">Add</button>
<ul>
<li *ngFor="let course of courses; index as i; even as isEven">
{{ i }} - {{ course.name }} <span *ngIf="isEven">(EVEN)</span>
<button (click)="onRemove(course)">Remove</button>
</li>
</ul>
export class AppComponent {
courses = [
{ id: 1, name: 'course1' },
{ id: 2, name: 'course2' },
{ id: 3, name: 'course3' },
];
onAdd() {
this.courses.push({ id: 4, name: 'course4' });
}
onRemove(course) {
let index = this.courses.indexOf(course);
alert(index); // I get correct index here
this.courses.splice(index, 1);
}
}
を助け代わり
{{i}}
の
{{course.id}}
への最初の文字列補間希望を変更することは、あなたが '{{I}}'を見ていないことを確認していると、それは '{{course.id}だと思います} '?コードは正常に動作していますhttp://plnkr.co/edit/tpl:AvJOMERrnz94ekVua0u5?p=preview –