Проблема в том, что ngModel
является двусторонней привязкой. Применение метода, подобного slice
, работает, когда вы передаете значение, а не когда оно возвращается обратно. В развернутом виде ваша привязка ngModel
выглядит следующим образом:
[ngModel]="claim.claimData.dateOfDiagnosis.slice(0,10)"
(ngModelChange)="claim.claimData.dateOfDiagnosis.slice(0,10)=$event"
Строка
claim.claimData.dateOfDiagnosis.slice(0,10)=$event
Не имеет смысла, и именно она вызывает вашу ошибку.
Есть несколько способов обойти это, в зависимости от конкретных c требований контекста.
Если поле dateOfDiagnosis
не обязательно должно быть в формате 2010-09-08T00:00:00
, вы можете просто позвоните
this.claim.claimData.dateOfDiagnosis = this.claim.claimData.dateOfDiagnosis.slice(0,10);
, где она установлена, или вы можете использовать другую переменную для отслеживания даты в формате YYYY-MM-DD
, и добавить T00:00:00
, когда вы вернете ее назад к claim.claimData.dateOfDiagnosis
.
Вы можете даже использовать израсходованную форму ngModel
, чтобы сделать все это на месте. т.е.:
[ngModel]="claim.claimData.dateOfDiagnosis.slice(0,10)"
(ngModelChange)="claim.claimData.dateOfDiagnosis = $event + 'T00:00:00'"