ion-toggle необходимо логическое значение, если вы связываете его с логическим значением, оно будет работать.
в вашем атрибуте модели allRecs есть строка, поэтому начальное значение не влияет на ионный переключатель и не может его изменить. поэтому x.model должен быть логическим или добавить новый логический атрибут, например, значение, чтобы установить его для ngModel:
constructor(){
this.allRecs = [
{
label: "label 1",
value: false
},
{
label: "label 2",
value: false
},
{
label: "label 3",
value: true
}
]
}
toggle(flag:boolean){
for(let i=0;i<this.allRecs.length;i++){
this.allRecs[i].value = flag;
}
}
в html:
<ion-item *ngFor="let x of allRecs">
<ion-label> {{x.label}} </ion-label>
<ion-toggle [(ngModel)]="x.value" (ionChange)="toggle(x.value)" item-end>
</ion-toggle>
</ion-item>