我有一个* ngFor选择选项列表,用于将选项传递给函数。我无法弄清楚如何将实际对象(而不是值)传递给我正在调用的函数。
<h1>
{{title}}
<form name="qrForm">
<h2>Item Number</h2>
<input type="number" name="myitem" [(ngModel)]="itemno"
(blur)="getItemsList(scriptno)">
<h2>Date of birth</h2>
<input type="date" name="dob" [(ngModel)]="dateofbirth" (blur)="getItemsList(itemno, dateofbirth)">
<div *ngIf="showDeliveryTypes" name="deliverytypes">
<h3>Delivery Method</h3>
<select #select [(ngModel)]="current" (change)="validateDeliveryTypes(select.value)" name="deliveryoptions">
<option *ngFor="let item of qrData.DeliveryTypes" [value]="item.DeliveryTypeId">{{item.DeliveryTypeName}}</option>
</select>
</div>
</form>
</h1>
在(change)=“validateDeliveryTypes()”函数中,我得到item.DeliveryTypeId值(这是你所期望的)。但是,如何获取“item”对象以便我可以访问该对象上的所有属性而不仅仅是DeliveryTypeId?
任何帮助非常感谢。还在学习Angular 2。
答案 0 :(得分:1)
您可以使用DeliveryTypeId
validateDeliveryTypes
内部Array.prototype.find
方法找到它
...
public validateDeliveryTypes(){
let selectedItem = this.qrData.DeliveryTypes.find((item)=> item.DeliveryTypeId===this.current);
//rest of your code here
}
...