Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

IE11 issue with two nested ng-repeat in template #11939

Closed
FabrizioA opened this issue May 25, 2015 · 11 comments
Closed

IE11 issue with two nested ng-repeat in template #11939

FabrizioA opened this issue May 25, 2015 · 11 comments

Comments

@FabrizioA
Copy link

Hi, currently I have a very subdole problem to solve with IE11 and AngularJS.
My page is consist 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.

@gkalpak
Copy link
Member

gkalpak commented May 26, 2015

While it is next to impossible to debug without a reproduction (preferrably a live one using CodePen, Plnkr, JSFiddle etc), the following info always helps:

  1. What version of Angular are you using ?
  2. What other modules are you using (e.g. ngAnimate).
  3. Have you tried other versions ?
  4. Have you tried removing the exxternal modules (if any) ?

@FabrizioA
Copy link
Author

I'm using AngularJS 1.3.13.
I have loaded ng-animate in my application but I don't use it within the two ng-repeat cycles.
I've updated angular-bootstrap (which give me a tabset functionality) to the last version, but nothing has changed.
I've posted the same question here http://stackoverflow.com/questions/30443986/ie11-slow-freeze-with-angularjss-ng-repeat-rendering?noredirect=1#comment48975216_30443986 and in one comment, a Microsoft IE developer says that is a IE rendering "limitation".
I've tried the one-way binding :: notation with no success.

@gkalpak
Copy link
Member

gkalpak commented May 26, 2015

Note that just by loading ngAnimate the built-in directives use it internally so you can hook up your animations (i.e. essence it will take over stuff like adding/removing DOM nodes, classes etc).

The only thing that I can think of off the top of my head is IE11's not "buffering" calls to requestAnimationFrame (although I am not sure it affects the 1.3.x branch).

#11791 is a similar issue and #11800 is the PR that fixed it.

So, as a first step, I would remove ngAnimate and see if that makes the problem go away.
Then I would remove other modules and see what happens.
And I would also try the latest 1.3.x version (just in case) - if possible 1.4.x as well.

In any case, if we don't pinpoint the issue, we can't fix it !

(And as mentioned already, a live reproduction always goes a long way 😃)

@FabrizioA
Copy link
Author

I've tried with angular-animate 1.4.0-rc.2 and it works.
So, I won't use a rc code, at this moment I've limited the results to 100 records instead of 1000....
Thanks.

@Narretz
Copy link
Contributor

Narretz commented May 26, 2015

Thanks for testing. Could you also test if removing your app's dependency on ngAnimate fixes the problem in 1.3.x?

@FabrizioA
Copy link
Author

Hi Narretz, I can confirm that if I remove ngAnimate app's dependency the problem on IE disappear, all run ok and the two nested ng-repeat's rendering works smoothly.
Thanks for your support.
Cheers
Fabrizio

@gkalpak
Copy link
Member

gkalpak commented May 26, 2015

So, IE's not "buffering" calls to requestAnimationFrame() might indeed be the culprit here.
@matsko, do you think #11800 could be backported to 1.3.x ? (It's a small fix and seems to be independent of the great refactoring.)

@FabrizioA, fwiw 1.4.0 (stable) is about to be released (before the end of the week if I'm not mistaken), so you might want to migrate to that and reap the benefits (with very little breaking changes) 😉

@matsko
Copy link
Contributor

matsko commented May 26, 2015

@gkalpak yes we should be able to do it.

@FabrizioA
Copy link
Author

@matsko it would be great if the IE buffering fix could implement into 1.3.x. At this moment I can't upgrade to 1.4.0 :(
Thanks!

@matsko
Copy link
Contributor

matsko commented Jun 1, 2015

This is now backported to 1.3.x: 0adc036

@matsko
Copy link
Contributor

matsko commented Jul 28, 2015

Closing this for now.

@matsko matsko closed this as completed Jul 28, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants