Задание нового значения для другой модели переназначение старой модели (Angular) - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть 2 средства выбора даты в angular HTML

вот оно

<div *ngIf="receipt.chargeTypeId !== 4" class="row">
    <div class="col-6">
        <div class="form-group">
            <label class="label-title">{{ l('RentalPeriodFrom') }}</label><br />
            <utc-datepicker name="RentalPeriodFrom" [(ngModel)]="receipt.rentalPeriodFrom">
            </utc-datepicker>
        </div>
    </div>
    <div class="col-6">
        <div class="form-group">
            <label class="label-title">{{ l('RentalPeriodTo') }}</label><br />
            <utc-datepicker name="RentalPeriodTo" [(ngModel)]="receipt.rentalPeriodTo">
            </utc-datepicker>
        </div>
    </div>
</div>

Мне нужно установить RentalPeriodTo на RentalPeriodFrom + 1 месяц

Я делаю это так

this.receipt.rentalPeriodFrom = this.tenancyData.tenancyStartDate;
const periodTo = this.receipt.rentalPeriodFrom;
this.receipt.rentalPeriodTo = periodTo.add(1, 'M');

Но это меняет мой this.receipt.rentalPeriodFrom на дату, относящуюся к this.receipt.rentalPeriodTo

В чем проблема?

1 Ответ

0 голосов
/ 30 апреля 2020

// это может происходить из-за того, что receive.rentalPeriodFrom копируется как ссылка на periodTo, который меняет источник при изменении квитанции на

this.receipt.rentalPeriodFrom = this.tenancyData.tenancyStartDate;
const periodTo = Object.assign({},this.receipt.rentalPeriodFrom);
this.receipt.rentalPeriodFrom;  
this.receipt.rentalPeriodTo = periodTo.add(1, 'M');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...