Ich entwickle eine Angular-Anwendung und ich stehe vor einigen Problemen.
Ich bin in einer Situation, in der ich mehrere untergeordnete Komponenten innerhalb einer übergeordneten Containerkomponente laden muss. Die untergeordnete Komponente wird untereinander geladen. Ich möchte 'n' Anzahl der Komponenten laden, bis der Bildlauf sichtbar ist, so dass ich mit dem verzögerten Laden von untergeordneten Komponenten umgehen kann. Ab jetzt versuche ich die folgende Bedingung zu verwenden.
%Vor%und der HTML-Code ist wie folgt
%Vor%aber es läuft in einer Endlosschleife und ich weiß nicht warum, aber ich denke, die Ansicht wird nicht so schnell wiedergegeben wie die while-Schleife. So, wie man dieses Problem löst. Bitte helfen.
Ich habe eine Demo erstellt, die eine Lösung für Ihr Problem bietet. Hier: Ссылка .
Anstatt eine Schleife zu verwenden, lege ich deine Logik in eine interval
, die sich solange wiederholt, bis stopCondition
true
ist. Ich habe auch einige Klassen in styles.css
und app.component.css
hinzugefügt, um die Höhe der übergeordneten Komponente zu erhöhen, wenn die Anzahl der untergeordneten Komponenten zunimmt. Hoffe, das hilft.
Vielleicht versuchen Sie trackBy
für Sie *ngFor
zu verwenden, damit nicht alle Elemente aktualisiert werden, sondern stattdessen ein neues hinzugefügt wird, wenn Sie die Sammlung ändern. Es kann eine Lösung für Ihre Endlosschleife sein.
Ich würde so etwas versuchen
%Vor%und der html
%Vor%GetBoundingClientRect gibt erst nach dem Rendern einen perfekten Wert zurück. Damit Sie sollten immer nur ein Element rendern und das Element nur anfügen, wenn die Bildlaufleiste nicht sichtbar ist.
Tags und Links angular angular2-template