簡體   English   中英

將新值設置為另一個 model 重新分配舊 model(角度)

[英]Setting new value to another model reassign old model (Angular)

我在 angular HTML 中有 2 個日期選擇器

就這個

<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.rentalPeriodFromthis.receipt.rentalPeriodTo相關的日期

問題出在哪里?

// 這可能是由於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');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM