Angular2 Änderung Erkennung Endlosschleife in Firefox

8

Ich habe zufällig festgestellt, dass es in Firefox in einer Angular2-App einige Trigger gibt, die eine Endlos-Änderungs-Erkennungsschleife verursachen können.

Ich habe eine auf Plunker repliziert: Ссылка

Das ScrollToFixed-Plugin führt grundlegende Änderungen durch und wendet einige Stile an. Wenn Sie jedoch im Abschnitt "Main" und dann im Bereich "Sidebar" blättern, sehen Sie, dass doCheck unendlich aufgerufen wird.

Ich konnte auch eine Endlosschleife in Firefox auslösen, indem ich einen Marker in einer Google-Karte auslöst, um mit der Animation zu beginnen.

Die Endlosschleife tritt nicht in IE, Safari oder Chrome auf. Ich bin mir nicht sicher, ob dies ein Problem mit Angular2 oder Firefox ist, aber ich kann die Ursache des Problems nicht finden.

app.ts

%Vor%

template.html

%Vor%

style.css

%Vor%

index.html

%Vor%     
ComputerWolf 22.10.2015, 17:33
quelle

1 Antwort

0

Ich bin mir nicht sicher, warum dies nur in Firefox passiert und warum es eine Endlosschleife erzeugt, aber der Fehler zeigt an, dass Sie versuchen, $('#sidebar').scrollToFixed(); anzuwenden, bevor die Seitenleiste erstellt wird. Standardmäßig wurden in Angular im Konstruktor noch keine DOM-Elemente gerendert. Die Sidebar wird erst nach der Initialisierung des DOM durch Angular verfügbar sein. Sie können Ihren Code in ngAfterViewInit einfügen und es wird funktionieren.

Sie können Ссылка für weitere Informationen lesen

    
bas 02.11.2017 10:35
quelle

Tags und Links