Omówienie składników szablonu
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
@typeparam
dyrektywy . 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
ChildContent
ró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).