我们有一个下拉列表,可以列出要列出的3K +数据。
<select class="form-control" (change)="onSelect($event.target.value)" [(ngModel)]="employeeJobCode.JobCode.Id" name="JobCode" [ngClass]="{'alert-danger': JobCode.errors && (JobCode.dirty || JobCode.touched)}" #JobCode="ngModel" required>
<option [value]=""></option>
<option *ngFor="let dropDownValue of jobCodeListData" [value]="dropDownValue.Id">{{ dropDownValue.FullName }}</option>
</select>
当我们展开下拉列表时,它会呈现列表中的所有3K +项目。 在IE11上完成此操作需要40多秒。
在检查探查器数据时,我们发现NgForOf.prototype.ngDoCheck耗时差不多36秒,如图所示 -
ngDoCheck这么慢的原因是什么? 我们如何优化这种性能?