Я использую NavController
в моем Cordova/Ionic
приложении. Существует структура проблемных компонентов: Родительский компонент:
<ion-header>
...
</ion-header>
<ion-content>
...
</ion-content>
<child-component-form [myModelId]="myModelId"></child-component-form>
Дочерний компонент:
<form #newCommentForm="ngForm" (ngSubmit)="onSubmit()">
...
<ion-col>
<ion-item>
<ion-label>Some text</ion-label>
<ion-checkbox [(ngModel)]="model.is_public" name="is_public"
(ionChange)="updateIsPublic($event)"></ion-checkbox>
</ion-item>
</ion-col>
</form>
Когда я нажимаю на ion-checkbox
, он не переключает свое состояние. Но модель мгновенно меняет свое состояние
updateIsPublic() {
console.log(this.model.is_public); // <- it displays the new correct state of the checkbox model. But the checkbox doesn't switch.
}
updateIsPublic($event)
- это обратный вызов, который выполняет логику, не связанную с проблемой. Я
this.changeDetector.detectChanges();
- работает
this.ngzone.run(()=>{})
- работает
Но мне нужно решить проблему без него.