2016-07-06 11 views
1

initialisiert Ich habe alle Bewachung alle Komponenten von der Initialisierung mitSicherstellung Komponenten ordnungsgemäß

<my-component*ngIf="someInput" [input]="someInput"><my-component>

Gibt es eine bessere Art und Weise begonnen, um sicherzustellen, dass die Eingabe vorhanden ist, bevor die Komponente initialisiert?

Gibt es einen Leistungsgrund, die Komponente zu initialisieren, ohne die Eingabe und die Prüfung innerhalb der Komponente durchzuführen?

Antwort

1

Die größte Überlegung ist die Designauswahl und wie diese Komponenten interagieren. Wie verhält sich die Kindkomponente zu Ihrem Elternteil? Ändert der Elternteil die Eingabe zwischen wahr oder falsch? ngIf zerstört eine Komponente bei false, was für die Leistung gut sein kann, wenn die Komponente schwer ist, aber nicht immer notwendig, wenn sie leicht ist.

Der Leistungsgrund für das Rendern der Komponente vor den Daten ist so, dass sie schneller initialisiert und auf dem Bildschirm angezeigt wird. Wenn die Eingabe asynchron ist und etwas Zeit zum Laden benötigt, wird die Komponente erst dann auf der Seite angezeigt, wenn die Eingabe fertig ist. Es kann vielmehr eine bessere Benutzererfahrung sein, die untergeordnete Komponente zuerst darzustellen und ein Ladesymbol anzuzeigen, bis die Eingabe eintrifft.

Verwandte Themen