Omówienie składników szablonu
- 4 min
Składniki szablonu, które można ponownie używać w wielu aplikacjach, stanowią podstawę wypróbowanego i przetestowanego układu i logiki dostosowywania elementów interfejsu użytkownika. Składniki szablonu stosują ustandaryzowany projekt w aplikacji internetowej, definiując wspólne elementy i stosując je do wszystkich stron. Szablony mogą usprawnić aktualizacje, takie jak zmiana nazwy, ponieważ wprowadzasz modyfikacje tylko w centralnej lokalizacji szablonu.
W tej lekcji dowiesz się więcej o składnikach szablonów i sposobach ich uwzględnienia w aplikacji Blazor.
Typ renderfragmentu
Składnik szablonu dostarcza układ i logikę dla co najmniej jednego fragmentu znaczników HTML. Kod HTML jest renderowany przy użyciu kontekstu, który udostępnia składnik szablonu. Składnik szablonu używa obiektu jako symbolu zastępczego RenderFragment , w którym adiustacja jest wstawiana w czasie wykonywania.
Szablon jest tylko zwykłym składnikiem Razor. Aby użyć szablonu, składnik korzystający odwołuje się do niego jak każdy inny składnik. Nazwa ChildContent jest domyślna dla parametru RenderFragment . Możesz nadać parametrowi inną nazwę, ale musisz określić tę nazwę, gdy strona testowa zastosuje szablon.
Ogólne parametry renderfragmentu<T>
Domyślnie RenderFragment klasa działa jako symbol zastępczy bloku znaczników HTML. Można jednak użyć typu RenderFragment<TValue> ogólnego do renderowania innych typów zawartości przy użyciu parametru typu i zapewnienia logiki do obsługi określonego typu w składniku szablonu.
Załóżmy na przykład, że chcesz utworzyć szablon, który wyświetla elementy w kolekcji. Możesz użyć pętli języka C# foreach , aby wykonać iterację po kolekcji i wyświetlić znalezione elementy. Jednak kolekcja może zawierać dane dowolnego typu, więc potrzebny jest ogólny sposób renderowania każdego elementu.
Aby napisać składnik szablonu typu ogólnego, należy określić parametr typu w samym składniku szablonu i w składniku zużywanym szablonu. Poniższa lista reprezentuje typowe cechy składników szablonu typu ogólnego.
- Parametr typu w składniku szablonu jest wprowadzany przy użyciu
@typeparamdyrektywy . W razie potrzeby składnik szablonu może mieć wiele parametrów typu. - Szablon prawdopodobnie definiuje parametr zawierający wyliczalną kolekcję obiektów typu określonego przez parametr typu.
- Szablon definiuje
ChildContentrównież parametr na podstawie typu ogólnegoRenderFragment, który przyjmuje ten sam parametr typu.
Aby uzyskać więcej informacji, zobacz ASP.NET Core Blazor templated components (Składniki szablonowe platformy Blazor dla platformy ASP.NET Core).