I have an array that i make use of it to dispaly
<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>
as you can see i am using ionchange
to call a funtion
Problems:
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.
here is my .ts file
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;
}
from the above two function i am first invoking toggleLanguages() function once i invoked this funtion my this.languageHide variable becomes true then my (ionChange) function is triggering automatically.
I don't have any experience with Ionic, but you should be able to pass
$event
:You can then print
$event
in console to see how to extract the data you need:You can't pass
language
variable because it's not visible inion-list
scope, it is defined below.