Мы пытаемся решить проблемы производительности с помощью приложения Angular, которое мы создаем для банка.
К сожалению, это нарушение контракта, чтобы показать фрагменты кода. Независимо от того, я могу описать некоторые основные проблемы, и я надеюсь, что наилучшую практику можно рекомендовать.
Структура приложений:
- По существу, гигантская многоформатная страница.
- Каждая форма является ее собственной частичной, с вложенными контроллерами и частицами, имеющими глубину в 3 уровня.
- Те же формы повторяются ng по набору json-объектов.
- Каждая форма привязана к объекту/модели, которая повторяется.
- Мы должны поддерживать где угодно от 1-200 форм на странице.
Если вы посмотрите на график. Мы проводим много времени в методе jQuery parse html, jQuery пересчитываем метод stye, GC Event (Garbage Collection). Я предполагаю, что сведение к минимуму должно ускорить процесс. Все они являются частью жизненного цикла Angular, но могут быть лучшие способы избежать их. Вот несколько скриншотов профайлера:
В конечном счете, приложение вяло, так как количество повторяющихся форм выше 5. Каждая форма относительно не связана с другими. Мы старались не смотреть какие-либо общие свойства между формами.