如何在无线电组中将对象作为参数发送
How to send an object as a parameter in radio group
我有一个数组,我用它来显示
<ion-item (click)="toggleLanguages()">
Languages
<ion-icon name="add" item-right *ngIf="languageShow"></ion-icon>
<ion-icon name="remove" item-right *ngIf="languageHide"></ion-icon>
</ion-item>
<div *ngIf="languageHide">
<!-- All radio's in a radio group -->
<ion-list radio-group [(ngModel)]="selectedLanguage" (ionChange)="doSomething(language)">
<ion-item *ngFor="let language of languageArray">
<ion-label >{{language.language_name}}</ion-label>
<ion-radio item-left [value]="language"></ion-radio>
</ion-item>
</ion-list>
</div>
如你所见,我正在使用 ionchange
调用函数
问题:
when ever my languageHide
variables become true my doSomething
funtion is triggering
i am sending language
object as parameter to my doSomething(language)
function but in my console log i am getting undefined for language object.
这是我的 .ts 文件
doSomething(languages){
console.log("invoking dosomething");
console.log("checking languages "+ JSON.stringify(languages));//here it is not printing
}
toggleLanguages(){
console.log("invoking toggleLanguages");
this.languageShow = !this.languageShow;
this.languageHide = !this.languageHide;
}
从上面两个函数我首先调用toggleLanguages()函数
一旦我调用这个函数,我的 this.languageHide 变量变为真,然后我的 (ionChange) 函数就会自动触发。
我没有任何使用 Ionic 的经验,但你应该可以通过 $event
:
(ionChange)="doSomething($event)
然后您可以在控制台中打印 $event
以查看如何提取您需要的数据:
doSomething(event: any){
console.log(event);
}
您不能传递 language
变量,因为它在 ion-list
范围内不可见,定义如下。
我有一个数组,我用它来显示
<ion-item (click)="toggleLanguages()">
Languages
<ion-icon name="add" item-right *ngIf="languageShow"></ion-icon>
<ion-icon name="remove" item-right *ngIf="languageHide"></ion-icon>
</ion-item>
<div *ngIf="languageHide">
<!-- All radio's in a radio group -->
<ion-list radio-group [(ngModel)]="selectedLanguage" (ionChange)="doSomething(language)">
<ion-item *ngFor="let language of languageArray">
<ion-label >{{language.language_name}}</ion-label>
<ion-radio item-left [value]="language"></ion-radio>
</ion-item>
</ion-list>
</div>
如你所见,我正在使用 ionchange
调用函数
问题:
when ever my
languageHide
variables become true mydoSomething
funtion is triggeringi am sending
language
object as parameter to mydoSomething(language)
function but in my console log i am getting undefined for language object.
这是我的 .ts 文件
doSomething(languages){
console.log("invoking dosomething");
console.log("checking languages "+ JSON.stringify(languages));//here it is not printing
}
toggleLanguages(){
console.log("invoking toggleLanguages");
this.languageShow = !this.languageShow;
this.languageHide = !this.languageHide;
}
从上面两个函数我首先调用toggleLanguages()函数 一旦我调用这个函数,我的 this.languageHide 变量变为真,然后我的 (ionChange) 函数就会自动触发。
我没有任何使用 Ionic 的经验,但你应该可以通过 $event
:
(ionChange)="doSomething($event)
然后您可以在控制台中打印 $event
以查看如何提取您需要的数据:
doSomething(event: any){
console.log(event);
}
您不能传递 language
变量,因为它在 ion-list
范围内不可见,定义如下。