Höhe der untergeordneten Komponente dynamisch berechnen

12

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.

    
Vikhyath Maiya 15.02.2018, 09:47
quelle

3 Antworten

3

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.

    
NiK648 05.03.2018 16:20
quelle
2

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%     
SebOlens 08.03.2018 14:09
quelle
2

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.

    
Rajdip Patel 09.03.2018 06:57
quelle

Tags und Links