I am trying to do 2-way binding with an ion-datetime. However, my date is stored as a string like this: “dd/mm/yyyy”, but the ion-datetime is expecting “mm/dd/yyyy”. I tried binding to a getter and setter as follows:
HTML:
<ion-datetime name="dt_dob" [(ngModel)]="user.getDOB()" (ionChange)="user.setDOB($event)" placeholder="Enter date of birth" display-format="DD MMM YYYY" pickerFormat="DD/MM/YYYY"></ion-datetime>
user class getter/setter:
public getDOB(): string {
const dateParts: string[] = this.dob.split("/");
const result = dateParts[1] + "/" + dateParts[0] + "/" + dateParts[2];
return result;
}
public setDOB($event) {
const date = $event.target.value;
const dateParts: string[] = this.dob.split("/");
const dob: string = dateParts[0] + "/" + dateParts[1] + "/" + dateParts[2];
this.dob = dob;
}
However, this causes the following error:
Parser Error: Unexpected token '=' at column 17 in
[user.getDOB()=$event] in ng:///UserPageModule/UserPage.html@32:32 ("
<ion-item>
<ion-label>Date of Birth</ion-label>
<ion-datetime name="dt_dob" [ERROR ->][(ngModel)]="user.getDOB()" (ionChange)="user.setDOB($event)" placeholder="Enter date of birth""): ng:///UserPageModule/UserPage.html@32:32
Can anyone spot what I might be doing wrong here?