Principy komponent šablony

Dokončeno

Součásti šablon, které můžete opakovaně používat v různých aplikacích, poskytují základ vyzkoušeného a otestovaného rozložení a logiky pro přizpůsobení prvků uživatelského rozhraní. Součásti šablony používají standardizovaný návrh ve webové aplikaci definováním společných prvků a jejich použitím na všechny stránky. Šablony můžou zjednodušit aktualizace, například rebranding, protože provedete úpravy pouze v centrálním umístění šablony.

V této lekci se dozvíte o komponentách šablon a o tom, jak je můžete začlenit do aplikace Blazor.

Typ RenderFragment

Komponenta šablony poskytuje rozložení a logiku pro jeden nebo více fragmentů kódu HTML. Kód HTML se vykresluje pomocí kontextu, který komponenta šablony poskytuje. Komponenta šablony používá RenderFragment objekt jako zástupný symbol, do kterého se kód vloží za běhu.

Šablona je jen běžná komponenta Razor. Pokud chcete použít šablonu, odkazuje na ni spotřeba komponent stejně jako na jakoukoli jinou komponentu. Název ChildContent je výchozím nastavením parametru RenderFragment . Parametr můžete pojmenovat jinak, ale při použití šablony musíte zadat tento název.

Obecné parametry RenderFragment<T>

Ve výchozím nastavení RenderFragment třída funguje jako zástupný symbol pro blok kódu HTML. Obecný typ RenderFragment<TValue> však můžete použít k vykreslení jiných typů obsahu pomocí parametru typu a poskytnutí logiky pro zpracování zadaného typu v komponentě šablony.

Předpokládejme například, že chcete vytvořit šablonu, která zobrazuje položky v kolekci. Můžete použít smyčku jazyka C# foreach k iteraci v kolekci a zobrazení nalezených položek. Kolekce však může obsahovat data libovolného typu, takže potřebujete obecný způsob vykreslení každé položky.

Pokud chcete napsat komponentu šablony obecného typu, musíte zadat parametr typu v samotné komponentě šablony a v spotřebě součásti šablony. Následující seznam představuje běžné charakteristiky součástí šablony obecného typu.

  • Parametr typu v komponentě šablony se zavádí pomocí direktivy @typeparam . Komponenta šablony může mít v případě potřeby více parametrů typu.
  • Šablona pravděpodobně definuje parametr obsahující výčtovou kolekci objektů typu určeného parametrem typu.
  • Šablona také definuje ChildContent parametr založený na obecném RenderFragment typu, který přebírá stejný parametr typu.

Další informace najdete v tématu ASP.NET komponentách šablony Core Blazor.

Kontrola znalostí

1.

Jaký typ objektu parametru byste měli pro komponentu Blazor nakonfigurovat tak, aby sdílel fragment KÓDU HTML?

2.

Jaký je výchozí název parametru, který zachycuje všechny značky uvnitř komponenty, aniž by bylo nutné vytvořit jinou značku?