首页 > 解决方案 > 为另一个模型设置新值重新分配旧模型(Angular)

问题描述

我有 2 个角度 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>

我需要设置 RentalPeriodToRentalPeriodFrom+ 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

问题出在哪里?

标签: javascriptangulartypescript

解决方案


// 这可能是由于receipt.rentalPeriodFrom 被复制为引用 periodTo 当我们修改receiptto 时更改源

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

推荐阅读