Привязка ng-select [items], получающая параметры слишком много раз
Я изучаю Angular и впервые попробовал использовать NgSelect. И я заметил, что если я использую dropdownValues в качестве [items], он отображается в консоли "dropdownValues" каждый раз, когда указатель мыши находится над любой опцией в select, или каждый раз, когда я открываю и закрываю элемент управления select и т. Д. И просто перемещая указатель Быстрое переключение параметров Я получаю 15-20-процентную нагрузку на процессор, независимо от того, использую ли я _dropdownValues или dropdownValues. Что здесь происходит? Почему NgSelect должен получать [элементы] каждый раз, когда я делаю что-то, что не должно быть причиной для повторного рендеринга или получения [элементов] снова. Что я могу сделать, чтобы оптимизировать мой код, чтобы он не загружал процессор так сильно?
<ng-select [items]="_dropdownValues" bindValue="value" [(ngModel)]="name"></ng-select>
<ng-select [items]="dropdownValues" bindValue="value" [(ngModel)]="name"></ng-select>
@Component({
selector: 'testcomponent',
templateUrl: './testcomponent.html'
})
export class TestComponent {
_dropdownValues: DropdownOption[] = [];
get dropdownValues() {
console.log("dropdownValues");
return this._dropdownValues;
}
constructor() {
for (var i = 0; i < 150; i++) {
this._dropdownValues.push({ value: i.toString(), label: "Test" + i });
}
}
}
export interface DropdownOption {
value: string;
label: string;
}