2016-01-25 2 views
3

У меня есть таблица, содержащая 300 строк (ограничено), из 20 столбцов. - С Ag-GridAngularJS - Лучшая практика для таблиц данных

В этой таблице также имеется 8 фильтров, каждый из которых представляет собой мультивыбор средних 50 строк. - С isteven multi-select

Этот модуль очень медленный, и Batarang показывает от 7000 до 20000 $$ наблюдателей. Этот модуль также является самым важным в системе.

Я изменил фильтры, чтобы динамически загружать их при необходимости, но все же это очень медленно. (В Chrome с 8 ядрами i7 и 16 ГБ оперативной памяти)

Какова наилучшая практика для таблиц, показывающих массовые данные?

+0

Вы слышали о разбиении на страницы? – Damiano

+0

Быстрый выигрыш для ускорения может заключаться в том, чтобы увидеть, где вы можете использовать одноразовые привязки с угловым синтаксисом {{:: myVar}} https://docs.angularjs.org/guide/expression – jornare

+0

@Damiano Ну да, но, к сожалению, это это то, чего хочет мой босс. только 300 из сотен тысяч строк. – Amit

ответ

2

Я рекомендую вам смотреть в к сетке, которая использует виртуализацию, такую ​​как ui-grid, вы можете найти пример с большим набором данных here

0

Для этого можно использовать React. Производительность Реакта намного лучше. Реакция V в MVC, так что вы можете использовать React + AngularJS.

Вы также можете попробовать эту AngularJS библиотеку - angular-datatables

3

Вы можете использовать однократное связывание данных. В представлении используйте {{::myVal}} вместо {{myVal}} он должен уменьшить количество наблюдателей.

More

Вы можете сделать ленивый рендеринг или виртуальный повтор, чтобы уменьшить количество DOM узлов необходимо создать. (Это ваше приложение узкое, вероятно)

More

Наконец, вы можете использовать свою собственную реализацию углового способа компиляции и использовать $eval компилировать свои собственные шаблоны с $scope переменными, но без добавления его в угловую сферу приложения. Это может быть намного быстрее, чем угловое решение, потому что вы можете избежать всех проверок и оптимизировать его для своего приложения и сделать его простым HTML без всякой угловой магии, которая сделает этот бит намного быстрее.

+0

Спасибо за подробный ответ. главная проблема для меня в том, что я не могу управлять самой таблицей (это директива, которую я скорее не изменяю), я знаю одно время привязки, но я не могу создать свою собственную таблицу на этом этапе, потому что у этого есть так много функций. – Amit

Смежные вопросы