我尝试从模板变量的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
。
答案 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;
}