У меня есть проблема, для которой я не могу найти решение, или, возможно, мой поиск неправильный. Проблема заключается в следующем:
Фон
У меня есть класс BookingEvent, который определяется следующим образом:
export class BookingEvent {
title: string;
private _startDate: Date;
set startDate(value: Date) {
let valueMoment = moment(value);
if (valueMoment.isValid()) this._startDate = valueMoment.toDate();
}
get startDate(): Date {
return this._startDate;
}
private _endDate: Date;
set endDate(value: Date) {
let valueMoment = moment(value);
if (valueMoment.isValid()) this._endDate = valueMoment.toDate();
}
}
В дополнение к вышесказанному у меня есть компонент формы с шаблоном, который выполняет двухстороннюю привязку к свойствам.
Задача
Когда я сохранил данные формы на удаленном API, я понял, что json создал карты, привязанные к моим startDate & endDate свойства как _startDate & _endDate соответственно, как видно из:
{
"title": "My awesome event",
"_startDate": "2018-04-26T20:50:00.000Z",
"_endDate": "2018-04-27T19:50:00.000Z"
}
Вопрос
Почему собственный картограф json использует имена частных свойств, а не публичные? Как я могу убедиться, что имя публичной собственности используется?