У меня есть директива в Angularjs, которая будет иметь таблицу с большим количеством строк (более 1000), поэтому мой босс сказал, что я не должен использовать привязку, чтобы сделать содержимое сетки (из-за ограничения углов ~ 2000 в привязке), и вместо этого я должен создавать элементы dom на лету.Производительность Angularjs при создании элементов dom, pure js vs jqlite
И я сделал это с angular.element(...)
, и он работает. НО теперь я думаю, если может быть повышение производительности, если я использую нативный js document.createElement
?
Так jqlite медленнее, чем чистый js? как сильно это повлияет при создании более 1000 строк html?
jquery быстрее? Медленнее или равно jqlite?
UPDATE:
@Joe Enzminger +1 за один раз связывания было бы хорошо для отчета/печать вида ведьмы просто для просмотра. НО сетка имеет встроенное редактирование, поэтому ему нужны двусторонние привязки. он имеет 19 столбцов с входом и двумя кнопками и кнопкой сохранения в последнем столбце. каждая кнопка имеет ng-show
, а кнопка сохранения имеет ng-class
, чтобы изменить значок на основе состояния строк. поэтому (19 * 3) +1 двусторонние привязки.
Эта сетка является формой ввода данных для некоторых кинов: D, и все строки должны быть видимыми и не иметь разбивки на страницы.
UPDATE2:
Я забыл упомянуть, что сейчас у меня есть пустой tbody
элемент в шаблоне, и все его содержимое генерируется в виде простой йот и вводят в него абсолютно без привязки данных любого рода. все взаимодействия обрабатываются с хорошим модным JS вручную: D.
Почему в любом случае вам понадобится 1000 строк, видимых за один раз? Для того, чтобы пользователь мог работать с ним, они все равно нуждались бы в фильтрации и поиске. Используя разбиение на страницы (клиент или сервер), вы увидите минимальное время рендеринга – charlietfl
@charlietfl его специальный вид сетки с 20 + столбцами (не все из них видимыми) с встроенным редактированием. все доступные строки должны быть видны, чтобы пользователь мог и мог вводить свои данные один за другим (введите ключ, который приведет вас к следующей строке) – Exlord
@charlietfl и отчет/вывод на печать – Exlord