Почему execEmbeddedViewsAction вызывается несколько раз? - PullRequest
0 голосов
/ 15 января 2020

У меня есть виртуальная прокрутка в моем приложении, которая испускает кусок большого массива, а затем я перебираю эти элементы с помощью * ngFor, чтобы отобразить список li элементов, которые внутри содержат довольно много кода. На основе текущего элемента массива он решает, какие кнопки и компоненты внутри li отображать. Конечно, когда я прокручиваю вниз - создается новый фрагмент массива, поэтому все привязки меняются, и каждый элемент li и его внутренние части получают новые данные, поэтому обнаружение изменений учитывает их все.

Проблема в том, что он немного отстает при прокрутке вниз. Вкладка «Производительность» Chrome показывает, что для обнаружения изменений для каждого элемента в списке требуется более 300 мс, и я заметил, что execEmbeddedViewsAction вызывается несколько раз в течение этих 300 мс. Взгляни, пожалуйста. performance tab screenshot

Почему это происходит так часто? Каковы возможные решения моей проблемы? Стоит ли инкапсулировать все привязки к различным компонентам внутри li в один отдельный объект, чтобы эти компоненты имели только одну привязку @Input?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...