我有一个名为options对象数组。
这是我的html代码
<ion-item>
<ion-label>place</ion-label>
<ion-select [(ngModel)]="place" (click)="optionsFn(item);">
<ion-option value="item" *ngFor="let item of options">{{item.name}} {{item.price}}</ion-option>
</ion-select>
</ion-item>
{{salespriceOp}}
{{quantityOp}}
这是我.ts文件代码
product_option_value_idOp
priceOp
salespriceOp
quantityOp
skuOp
nameOp
options = [
{
"product_option_value_id": "45",
"name": "Bangalore Auto",
"quantity": "12",
"sku": "56876",
"price": "100.00",
"salesprice": "50"
},
{
"product_option_value_id": "51",
"name": "Hyderabad Auto",
"quantity": "23",
"sku": "56543",
"price": "200.00",
"salesprice": "60"
},
{
"product_option_value_id": "52",
"name": "Delhi Auto",
"quantity": "14",
"sku": "98767",
"price": "300.00",
"salesprice": "80"
}
];
constructor(public navCtrl: NavController) {
}
optionsFn(item) {//here item is an object
console.log(item);
this.product_option_value_idOp = item.product_option_value_id;
this.priceOp = item.price;
this.salespriceOp = item.salesprice;
this.quantityOp = item.quantity;
this.skuOp = item.sku;
this.nameOp = item.name;
}
我可以调用函数,但在console.log(item)
中未定义
7条答案
按热度按时间whhtz7ly1#
有几个因素共同导致了这个错误。第一个变化是不使用
click
事件,如下所示:您应该使用Ionic公开的
ionChange
事件,如下所示:另请注意,由于使用
[(ngModel)]="place"
将select元素绑定到组件的某个属性,因此不需要将该项作为参数发送,因为this.place
将在ionChange
事件触发时成为选定项。这就是
optionsFn
方法如下所示的原因:3hvapo4f2#
使用(ngModelChange)而不是(click)事件。
每当模型值改变时,ngModelChange将自动调用相对函数。
zi8p0yeb3#
你可以这样做
或者你也可以这样做
而在你的
.ts
文件中只是声明变量itemId
;b91juud34#
根据我的经验而不是
(ionChange)="optionsFn();"
,我们可以使用[(ngModel)]="selectVariable"
,它可以很容易地提取后在.ts文件fhity93d5#
1.在离子选择元件组
#id
和(ionChange)="anyFunc()"
上1.最重要的是将
ViewChild
从ionic-angular
设置为Select
类型祝你好运!
lpwwtiir6#
HTML格式
英寸
tzdcorbm7#
进行以下更改后进行检查:
// html变更
//.ts变更