我在app.component.html中有一个选择字段,如下所示:
<select class="form-control" name="status" [(ngModel)]="statusDesc">
<option *ngFor="let status of statusList">{{status}}</option>
</select>
我通过调用HttpClient来获取ngOnInit方法中的状态列表:
statusList: any;
ngOnInit() {
this._http.get(this.APP_URL + '/statusList1').subscribe(
data => {
this.statusList = data;
console.log(this.statusList);
},
error => {
console.log('Error occured', error);
}
);
}
我想在ngOnInit方法本身中为statusDesc设置默认值'InProgress',如下所示,但是它没有在html页面中设置值。 URL中肯定会在列表中返回单词“ InProgress”。 另外,如果我尝试在Http GET调用后提供console.log,则不会在控制台上打印statusList值。
ngOnInit() {
this._http.get(this.APP_URL + '/statusList1').subscribe(
...
...
this.statusDesc="InProgress";
console.log(this.statusDesc);
}
我猜这是因为GET方法进行了异步调用。有办法解决这个问题吗?
我也尝试过这种方法,但是结果是一样的。
<option *ngFor="let status of statusList" [selected]="status == selectedStatusValue">{{status}}</option>