Fixed using the NavParams solution here:
The code below works 100% of the time:
export class ViewImageComponent implements OnInit {
@Input() imageDataUrl: string;
imageDataUrl2: string;
constructor(private modalCtrl: ModalController,
private navParams: NavParams) { }
ngOnInit() {
}
ionViewWillEnter() {
this.imageDataUrl2 = this.navParams.get('imageDataUrl');
}
onCloseModal() {
this.modalCtrl.dismiss();
}
}
<ion-content class="content-modal">
<div *ngIf="imageDataUrl2" class="content-inner">
<ion-img [src]="imageDataUrl2" (click)="onCloseModal()"></ion-img>
</div>
</ion-content>