我有一个包含大量数据的数据,并尝试在AngularJS的表格中显示这些数据(带过滤和排序).为此我尝试使用ng-Table,但是当数据太多(> 1000行)时,它在远程服务器上开始减速,当数据太多(> 5000行)时,带有此表的页面甚至无法加载在localhost机器上.据我所知,过滤和排序需要从数据库加载所有数据,可能是任何人都知道一些技巧而不加载所有数据.或者可能是任何人都知道Angular的另一个表插件.
谢谢你的帮助.
解决方法
您需要的信息是:
http://tech.small-improvements.com/2013/09/10/angularjs-performance-with-large-lists/
建议是:
- Paginate the rows,they can’t see all 2000 rows at one time anyway
- Render the list without data binding
- Do not use a inline method call for calculating the data
- Use two lists (one for the view to display,one as data source)
- Use ng-if instead of ng-show for additional templates
- Do not use AngularJS directives ng-mouseenter,ng-mouseleave,etc.
- Tuning hint for filtering: Hide elements with ng-show that are excluded
- Tuning hint for filtering: Debounce input
您的过滤和排序可能是问题,在控制器中应用过滤器并在那里对它们进行排序.