Прежде чем дать этот ответ, я должен порекомендовать вам пройти курс обучения по Angular2, поскольку очевидно, что вы пытаетесь смешивать и сопоставлять вещи, которые не следует использовать вместе. На официальном сайте Angular есть хороший учебник.
Не нужно пытаться document.getElementsByClassName; Я бы так и сделал, воспользовавшись ngFor и Angulars «привязкой к событиям», а не поиском в DOM
в компоненте:
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
name = 'Angular 5';
items = ["volvo","saab","mercedes","audi"];
currentItem;
ngOnInit() {
}
updateCurrent(selected){
this.currentItem = selected;
console.log(this.currentItem);
}
delete(itemSel: any){
console.log(itemSel);
var index = this.items.indexOf(itemSel);
//if (index>-1)
this.items.splice(index, 1);
console.log(this.items)
}
}
в шаблоне:
<router-outlet></router-outlet>
<select (change)="updateCurrent($event.target.value)">
<option *ngFor="let item of items">{{item}}</option>
</select>
<div class="close" (click)="delete(currentItem)">X</div>