我正在开发一个带有API连接的Angular应用程序。这是我遇到的代码:
var evt = document.createEvent('KeyboardEvent');
evt.initEvent('keyup', true, true);
var input = document.querySelector('.text input');
input.value = '1111';
input.dispatchEvent(evt);
当我在<mat-select [(value)]="this.item.name" (change)="onFamilySelected()">
<mat-option *ngFor="let subfamily of subfamilies" [value]="subfamily">{{subfamily}}</mat-option>
</mat-select>
函数上时,onFamilySelected()
未定义。 Chrome的控制台会将其显示为稍后评估。 this.item.name
是一个从API异步的字符串数组(我在subfamilies
上检索它),它在select上正确显示。
答案 0 :(得分:2)
您需要在[(ngModel)]
中使用[(value)]
代替mat-select
,如下所示:
<mat-select [(ngModel)]="this.item.name" (change)="onFamilySelected()">
现在onFamilySelected
您将成功this.item.name
。