我如何从HTML选择角度获取价值

时间:2019-07-15 09:41:58

标签: angular

我尝试从模板变量的HTML选择中获取价值,但是它不起作用。 我的应用程序组件中有一个选择,我希望在开始时以及每次值改变时都获得他的价值。

这是我的公式,在app.component.html

<form class="form-inline my-2 my-lg-0" *ngIf="showSelect" #f="ngForm">
    <select class="custom-select" id="service" #serviceSelect (select)="service = serviceSelect.value" >
        <option *ngFor = "let service of listeServices" value="{{service.id}}">{{service.nom}}</option>
    </select>
</form>

这是我的ngAfterViewInit函数:

ngAfterViewInit(): void {
    console.log(this.service);
}

我目前唯一得到的是undefined

1 个答案:

答案 0 :(得分:0)

ngAfterViewInit在组件的生命周期中仅运行一次,即,一旦视图初始化,由于没有选择发生,因此您将获得undefined。建议针对您提到的用例对以下代码进行更改:

app.component.html

<select class="custom-select" id="service" #serviceSelect (change)="setSelection(serviceSelect.value)" >
        <option *ngFor = "let service of listeServices" value="{{service.id}}">{{service.nom}}</option>
</select>

app.component.ts

public setSelection(selectedValue: any): void {
    this.service = selectedValue;
    //do more if needed;
}