我有一个数组,我利用它来显示
<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
来调用功能
问题:
当我的
languageHide
变量变为真时,我的doSomething
功能正在触发我将
language
对象作为参数发送到我的doSomething(language)
函数,但在我的控制台日志中,我的语言对象未定义。
这是我的.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变量就变为true,然后我的(ionChange)函数自动触发。
答案 0 :(得分:0)
我对Ionic没有任何经验,但你应该能够通过$event
:
(ionChange)="doSomething($event)
然后,您可以在控制台中打印$event
以查看如何提取所需的数据:
doSomething(event: any){
console.log(event);
}
您无法通过language
变量,因为它在ion-list
范围内不可见,定义如下。