Grundlegendes zu Vorlagenkomponenten

Abgeschlossen

Vorlagenkomponenten, die für mehrere Apps wiederverwendet werden können, bieten als Grundlage ein bewährtes Layout und eine bewährte Logik zum Anpassen von Elementen für die Benutzeroberfläche. Vorlagenkomponenten ermöglichen das konsistente Anwenden eines standardisierten Designs in einer Web-App, indem häufig vorkommende Elemente definiert und auf alle Seiten angewendet werden. Mit Vorlagen können Updates z. B. durch Rebranding optimiert werden, da Sie nur am zentralen Vorlagenspeicherort Änderungen vornehmen.

In dieser Lerneinheit erfahren Sie, was Vorlagenkomponenten sind und wie Sie sie mit einer Blazor-Anwendung integrieren.

Der RenderFragment-Typ

Eine Vorlagenkomponente stellt das Layout und die Logik für ein oder mehrere Fragmente von HTML-Markup zur Verfügung. Der HTML-Code wird mithilfe des Kontexts gerendert, den die Vorlagenkomponente bereitstellt. Die Vorlagenkomponente verwendet ein RenderFragment-Objekt als Platzhalter, in den das Markup während der Runtime eingefügt wird.

Eine Vorlage ist nur eine einfache Razor-Komponente. Eine Vorlage wird verwendet, indem eine nutzende Komponente darauf verweist wie auf jede andere Komponente ebenfalls. Der Name ChildContent ist der Standardname für einen RenderFragment-Parameter. Sie können dem Parameter einen anderen Namen zuweisen, aber Sie müssen diesen Namen angeben, wenn die Testseite die Vorlage anwendet.

Generische RenderFragment<T>-Parameter

Standardmäßig fungiert die RenderFragment-Klasse als Platzhalter für einen Block von HTML-Markup. Der generische Typ RenderFragment<TValue> kann jedoch zum Rendern anderer Inhaltstypen verwendet werden, indem ein Typparameter eingesetzt und dann die Logik für das Bearbeiten des angegebenen Typs in der Vorlagenkomponente bereitgestellt wird.

Angenommen, Sie möchten eine Vorlage erstellen, die die Elemente in einer Sammlung anzeigt. Sie können eine foreach-Schleife von C# verwenden, um durch die Sammlung zu iterieren und die gefundenen Elemente anzuzeigen. Die Sammlung kann allerdings Daten eines beliebigen Typs enthalten, daher benötigen Sie eine generische Methode zum Rendern der einzelnen Elemente.

Beim Schreiben einer generischen Vorlagenkomponente müssen Sie den Typparameter in der Vorlagenkomponente selbst sowie die nutzende Komponente der Vorlage angeben. Die folgende Liste stellt allgemeine Merkmale von Vorlagenkomponenten des generischen Typs dar.

  • Der Typparameter in einer Vorlagenkomponente wird mithilfe der @typeparam-Anweisung eingeführt. Eine Vorlagenkomponente kann bei Bedarf mehrere Typparameter enthalten.
  • Die Vorlage definiert wahrscheinlich einen Parameter, der eine aufzählbare Sammlung von Objekten des vom Typparameter angegebenen Typs enthält.
  • Die Vorlage definiert auch einen ChildContent-Parameter basierend auf dem generischen RenderFragment-Typ, der denselben Typparameter akzeptiert.

Weitere Informationen finden Sie unter ASP.NET Core Blazor-Vorlagenkomponenten.

Wissen auf den Prüfstand stellen

1.

Welchen Parameterobjekttyp sollten Sie für eine Blazor-Komponente konfigurieren, um ein HTML-Fragment freizugeben?

2.

Wie lautet der Standardname des Parameters, der das gesamte Markup innerhalb einer Komponente erfasst, ohne dass ein zusätzliches Tag erstellt werden muss?