【发布时间】:2018-04-10 00:31:54
【问题描述】:
我在导出的类中有两个字段。该模板有一个下拉菜单,其 ngModel 绑定到具有双向绑定的第一个字段 (selectedInterval)。当下拉选项更改时,calculateReviewDate() 事件发生并成功更新第二个字段 (nextReviewDate),但下拉列表保持空白,直到我两次选择相同的选项。此外,微调器在计算过程中永远不会出现。有谁知道为什么?
<form #FormVar="ngForm" novalidate>
<div class="form-group">
<div class="row">
<div class="col col-md-2 col-sm-3">
<input type="text" [ngModel]="nextReviewDate | date:shortDate" name="nextReviewDate" id="nextReviewDate1" class="form-control" disabled/>
</div>
<div class="col col-md-1 com-sm-3" *ngIf="showSpinner">
<fa [name]="'spinner'" [size]=1 [spin]=true></fa>
</div>
<div class="col col-md-2 col-sm-3">
<select class="form-control" name="nextReviewDate" id="nextReviewDate2" [(ngModel)]="selectedInterval" (change)="calculateReviewDate()">
<option *ngFor="let r of reviewIntervals" [value]="r.interval">{{r.intervalDescription}}</option>
</select>
</div>
</div>
</div>
<button type="submit" class="btn btn-primary" [disabled]="!FormVar.valid" (click)="save(FormVar)">Review Note</button>
</form>
calculateReviewDate(): void {
this.showSpinner = true;
let calculator: calculateDate = new calculateDate();
let today: Date = new Date();
this.nextReviewDate = calculator.addMonth(today, this.selectedInterval);
this.showSpinner = this.nextReviewDate === undefined;
}
【问题讨论】:
-
let today: Date = new Date();到底是什么意思? -
它创建了一个 JavaScript Date 对象,其值为今天 00:00。 let 关键字是设置一个 TypeScript 局部作用域变量。
-
@user266909 确实如此,但不要在您的类型规范中如此多余,这是没有意义的。让类型推断为您工作,尤其是与本地人一起工作
标签: javascript angular typescript