javascript - 为另一个模型设置新值重新分配旧模型(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>
我需要设置 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
问题出在哪里?
解决方案
// 这可能是由于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');
推荐阅读
- python - 由于“超出最大递归深度”,如何将递归函数转换为迭代?
- java - Lambda 捕获与非捕获
- python - Pygame Snake - 苹果在蛇内产卵
- powershell - Powershell - 从 PSObject 的多行(或多个 JSON 数组项)中的字段获取非空值数组?
- nginx - NGINX 无法在 Windows 10 上创建自己的 .conf 文件
- angular - 父母之间的链接(Angular 7)
- python - IDE中“运行”和“运行...”的区别?
- c++ - Qt通过样式表更改树小部件箭头颜色
- mysql - MySQL 多连接 3 表(桥表)
- java - 在 Java 中,为什么使用 URL 会在一个端口上给出 SSLHandshakeException 而不是在具有相同证书的另一个端口上?