Compón HTML semántico
use pliego_dom::{IntoView, View, el};
fn notice(title: &str, body: &str) -> View {
el("aside")
.attr("aria-labelledby", "notice-title")
.child(el("h2").id("notice-title").child(title.to_owned()))
.child(el("p").child(body.to_owned()))
.into_view()
}Los nodos de texto y valores de atributos son escapados por el renderer. Los nombres estructurales se validan en los límites de construcción; HTML crudo nunca es la ruta predeterminada.
Macro de vista tipada
use pliego_macros::view;
let page = view! {
<main class="shell">
<h1>{title}</h1>
<p>{summary}</p>
</main>
};Usa el builder para composición dinámica y view! para árboles concisos. Ambos producen el mismo contrato View y HTML determinista.
HTML útil primero
Navegación, contenido, formularios, headings, landmarks y controles esenciales pertenecen al documento creado. Rust/WASM reanuda comportamiento controlado en límites explícitos en vez de reconstruir la página.
Propiedad montada
Un scope montado controla sus hijos reactivos, listeners DOM, instancias de adapters, handles de cancelación y cleanup. Desmontar el scope dispone el subárbol completo.