3.3 KiB
Declaraciones de plantilla
Una declaración de plantilla responde a un evento provocado por un enlace a un objetivo como un elemento, componente o directiva.
Mira la sintaxis de la plantilla para la sintaxis y los fragmentos de código de esta guía.
La siguiente declaración de plantilla aparece entre comillas a la derecha del símbolo =
como en (event)="statement"
.
Una declaración de plantilla tiene un efecto secundario. Ese es el objetivo de un evento. Es la forma de actualizar el estado de la aplicación a partir de la acción del usuario.
Responder a los eventos es el otro lado del flujo de datos unidireccionales
de Angular.
Eres libre de cambiar cualquier cosa, en cualquier lugar, durante este ciclo del evento.
Al igual que las expresiones de plantilla, las declaraciones de plantilla utilizan un lenguaje que se parece a JavaScript.
El analizador de declaraciones de plantilla difiere del analizador de expresiones de plantilla y
admite específicamente tanto la asignación básica (=
) como el encadenamiento de expresiones con ;
.
Sin embargo, no se permiten determinadas sintaxis de expresión de plantilla y JavaScript:
new
- Operadores de incremento y decremento,
++
y--
- operador de asignación , como
+=
y-=
- los operadores bit a bit, como
|
y&
- el operador pipe
Contexto de la declaración
Al igual que con las expresiones, las declaraciones solo pueden ver lo que está en el contexto de la declaración como un método de manejo de eventos de la instancia del componente.
El contexto de la declaración es típicamente la instancia del componente.
El deleteHero en (click)="deleteHero()"
es un método del componente enlazado a datos.
El contexto de la declaración también puede ver las propiedades del propio contexto de la plantilla.
En los siguientes ejemplos, el objeto de plantilla $event
,
una variable de entrada de plantilla (let hero
),
y una variable de referencia de plantilla (#heroForm
)
se pasan a un método de manejo de eventos del componente.
Los nombres de contexto de plantilla tienen prioridad sobre los nombres de contexto de componentes.
En deleteHero(hero)
anterior, el hero
es la variable de entrada de la plantilla
no la propiedad hero
del componente.
Pautas de la declaración
Las declaraciones de plantilla no pueden ver nada en el espacio de nombres global. No
pueden ver window
o document
.
No pueden llamar console.log
o Math.max
.
Al igual que con las expresiones, evita escribir declaraciones de plantilla complejas. Una llamada a un método o una simple asignación de propiedad debería ser la norma.