Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
24
rated 0 times [  25] [ 1]  / answers: 1 / hits: 16408  / 9 Years ago, mon, may 25, 2015, 12:00:00

Currently I have a very sublte problem to solve with IE11 and AngularJS.



My page consists of two nested ng-repeat to create a tabset with a table inside any tab.



Here the code: http://pastebin.com/0fffPz5Z



In the code, each application's object have around 1.000 item's related objects.
With a Chrome, Safari and Mozilla I have no problem, all is superfast! With IE11 the page go slow and IE11 show me the message of a too slow page's script....



I've created an IE11 interface's profiling with this result:
https://www.dropbox.com/s/y5xuystxht6gjkr/IE11-interface-profiling.png?dl=0



Is this another IE11's bug??? Sorry for my English and thanks in advance for any suggestion.



Edit: Currently (for debug purpose) I removed all td's content... the IE11 is still too slow. :(



                <tabset ng-show=!applicationsLoading>
<tab ng-repeat=application in applications track by application.name>
<tab-heading>
<em class=fa fa-clock-o fa-fw></em> {{ application.name }}
</tab-heading>
<div>
<!-- START table responsive-->
<div class=table-responsive>
<table class=table table-bordered table-hover table-striped>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr ng-repeat=item in application.items track by item.itemid>
<td></td>
<td></td>
<td>
</td>
<td></td>
<td></td>
<td>
</td>
<!-- Graph or History column -->
<td>
</td>
</tr>
</tbody>
</table>
</div>
<!-- END table responsive-->
</div>
</tab>
</tabset>

More From » angularjs

 Answers
2

AngularJs has limits for rendering bindings per page (In some articles you can find that it is around 2000 bindings). Currently you've just faced this situation. The reason why chrome and Mozilla work smoothly is that DOM operations for them are optimized better.
In order to improve your performance try to:




  • avoid using sort in ng-repeat (sort it before insertions)

  • Use one-time bindings (:: syntax)

  • Remove unnecessary watches

  • Optimize digest cycles

  • Use pagination

  • Replace angularjs ng-repeat with ReactJs components (in case of really big amount of data)


[#66477] Friday, May 22, 2015, 9 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
ignacio

Total Points: 467
Total Questions: 128
Total Answers: 79

Location: Luxembourg
Member since Tue, Mar 14, 2023
1 Year ago
ignacio questions
;