当我从自动完成列表中选择建议的报价时,出现此错误:
我认为 displayWith
只是用于显示项目的字符串,不确定 name
属性在未定义时如何访问以及为什么仅在我时发生错误选择列表中的一个项目。但是,我没有任何功能问题,只是在浏览器控制台中出现错误。
new-offer-form.component.ts:
...
foodItemName(offer?: Offer): string | undefined {
return offer ? offer.foodItem.name : undefined;
}
...
new-offer-form.component.html:
...
<mat-autocomplete #auto="matAutocomplete" [displayWith]="foodItemName" (optionSelected)='assign($event.option.value)'>
<mat-option *ngFor="let offer of filteredOffers$ | async" [value]="offer">{{ offer.foodItem.name }}</mat-option>
</mat-autocomplete>
...
最佳答案
您的范围在[displayWith]="foodItemName"
内未定义!
将其替换为[displayWith]="foodItemName.bind(this)"
关于angular - 无法读取属性 - displayWith,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49091255/