@bullyy

Как улучшить производительность ng-options?

<select class="form-control inputsm" ng-model="c.value" name="select_{{c.term}}" ng-options="item.name for item in c.values track by item.id" ng-required="c.required"></select>

Могут быть случаи, когда в массиве values 200+ обьектов и на странице 9 таких селектов. В IE9-11 страница грузится очень долго, можно ли это как-то оптимизировать.
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
В IE9-11 страница грузится очень долго, можно ли это как-то оптимизировать.


Какое это отношение имеет к ng-options? Если мы говорим о производительности, и список наш не меняется - то можно использовать one-time биндинги. Если меняется - то просто менять не сам массив а создавать новый, далее track by и так будет реюзать DOM.

В целом у вас проблема не в том что ангуляр и ngOptions, а в том что у вас в IE9-11 выводится 200*9 DOM элементов тупо на список. Конечно же это будет тормозить немного. Альтернатива - отказаться от select и использовать какие-нибудь штуки с автокомплитом или селекты с виртуальным скролом.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы